سلام.
3.ارسال از طریق ارجاع ثابت و مثلا در تابع داریم:

void Example(const int&);


در این حالت با اینکه آرگومان ما از طریق ارجاع ارسال میشود ولی پس از اتمام کار تابع هیچ تغییری در مقدار اولیه به وجود نمی آید. (مانند حالت اول)
در حالت سوم كدي مانند زير نادرسته چون شما اصلا حق تغيير مقدارشو نداريد.
مثلا كد زير نادرسته:
void Example(const int&a)
{
a=100;
}

خوب حالا همون طور كه مي‌بينيد روش اول هيچ شباهتي به روش سوم نداره.