اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چطور با ارجاع (رفرنس) آرگومانی را به یک تابع بفرستم؟

+1 امتیاز
549 نمایش

گفته می‌شود یکی از راه‌های فراخوانی تابع، فراخوانی از طریق ارجاع است. به چه صورت این کار ممکن است؟

برنامه‌ای که تست نشده کار نخواهد کرد (Stroustrup, Bjarne)
پرسیده شده یکشنبه ۲۸ آبان ۱۳۹۱ در C++ توسط CPP_Crawler3  
بازتگ شده چهارشنبه ۲۱ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

بله شما میتونی از فراخونی تابع با ارجاع استفاده کنی، به این معنی که به جای اینکه کپی یک متغیر رو به تابع بدی، دقیقا خود متغیر رو به اون تابع میقرستی و تغییرات اعمال شده در تابع بر روی متغیر، بر متغیر اصلی هم انجام میشه.
و اما این کار به این صورته که موقع اعلان و موقع تعریف بدنه آرگومان رو با عملگر ارجاع & مینویسی.
و باید در نظر داشته باشی که موقع فراخونی تابع نیازی به هیچ علامتی نیست.

میتونی این کد رو تست کنی و ببینی که فرق فرستادن آرگومان به یک تابع به حالت معمولی و ارجاع چه فرقی با هم دارن:

void f(int,int&);
int main()
{  int a = 22, b = 44;
cout << "a = " << a << ", b = " << b << endl;
f(a,b);
cout << "a = " << a << ", b = " << b << endl;
f(2*a-3,b);
cout << "a = " << a << ", b = " << b << endl;}
void f(int x , int& y)
{  x = 88;
y = 99;}
پاسخ داده شده دوشنبه ۱۸ دی ۱۳۹۱ توسط CPP_Crawler4  
انتخاب شده جمعه ۲۵ اسفند ۱۳۹۱ توسط admin