وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز
وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز

متغییرهای مرجع

زبان برنامه‌نویسی C از دو نوع متغیر پشتیبانی می‌کندمتغیرهای معمولی و اشاره‌گرها (متغیرهای حاوی آدرس حافظه). زبان ++C نوع سومی را به این مجموعه اضافه کرده استمتغیرهای مرجع (Reference).

متغیرهای مرجع از روی دو نوع دیگر ساخته می‌شود و به نوعی می‌توان گفت نام مستعار برای متغیر اصلی به حساب می‌آیدبرای تعریف متغیر مرجع از عملگر & استفاده می‌کنیم:

  

int a;
int &b = a;

  

عبارت فوق متغیر b را مرجعی برای a معرفی می‌کنداز این کد به بعد متغیرهای a و b معادل هم هستندیعنی تغییرات a در b و تغییرات b در aتاثیر می‌گذارددر واقع a و b از یک محل حافظه استفاده می‌کنند؛ یا اینکه یک خانه‌ی حافظه، دو نام متفاوت دارد.

کاربرد اصلی متغیرهای مرجع را می‌توان در انتقال اطلاعات به توابع و بالعکس دیدهمانطور که می‌دانید در زبان C دو روش برای انتقال اطلاعات به تابع و بالعکس وجود داردمقدار و اشاره‌گرزمانی که از روش اول استفاده می‌کنیم، آرگومان متناظر با پارامتر تابع فقط یک کپی از مقدار آن پارامتر را داردیعنی تغییر متغیر آرگومان تاثیری در متغیر پارامتر ندارد. 

منبع الگوریتم ها


متغییرهای مرجع در سه جا به درد میخورند

1- هنگامی که داده های برگشتی ما بیشتر از یکی باشد

2- برای تغییر پارامتر اصلی

3- برای ذخیره کمتر حافظ و زمان