بله شما میتونی از فراخونی تابع با ارجاع استفاده کنی، به این معنی که به جای اینکه کپی یک متغیر رو به تابع بدی، دقیقا خود متغیر رو به اون تابع میقرستی و تغییرات اعمال شده در تابع بر روی متغیر، بر متغیر اصلی هم انجام میشه.
و اما این کار به این صورته که موقع اعلان و موقع تعریف بدنه آرگومان رو با عملگر ارجاع & مینویسی.
و باید در نظر داشته باشی که موقع فراخونی تابع نیازی به هیچ علامتی نیست.
میتونی این کد رو تست کنی و ببینی که فرق فرستادن آرگومان به یک تابع به حالت معمولی و ارجاع چه فرقی با هم دارن:
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;}