PDA

View Full Version : سوال درباره نامگذاری آرگمان ها



sahandmax
پنج شنبه 17 مهر 1393, 19:59 عصر
با سلام خدمت تمامی اساتید یه سوال خیلی ضروری داشتم چرا باید نام آرگمان ها توی برنامه و در تابع با هم متفاوت باشه؟؟ دلیلش چیه؟؟ اگه هم تفاوت نداره دلیلش چیه؟؟ خیلی ضروریه واسم

مسعود اقدسی فام
پنج شنبه 17 مهر 1393, 23:27 عصر
اگه منظورتون همنامی پارامتر ارسالی به تابع و آرگومان دریافتی داخل تابع هست، هیچ اجباری برای متفاوت بودن اسم وجود نداره. می‌تونه یکی باشه یا نباشه:


void func( int a )
{
cout << a << endl;
}

int main()
{
int a = 1;
int b = 2;
func( a );
func( b );
}



اجبار نداشتن هم دلیل نمی‌خواد. اگه مجبور بودیم باید دلیل می‌آوردیم که چرا مجبوریم. ولی در کل می‌شه اینطوری توضیح داد که اسم صرفا یه محل حافظه رو نشون می‌ده و یه محل حافظه می‌تونه چندین اسم مختلف داشته باشه و مهم نیست همیشه با یه اسم صدا زده بشه. اگه مثل مثال بالا باشه که کلا حافظشون هم متفاوته و اصلا به هم ربطی ندارن a داخل تابع main و تابع func. در واقع اینطوری در نظر بگیرید که ناحیه‌ی تعریف a دو تا بلوک مختلفه و دو تا حافظه‌یا متفاوت دارن. حالا می‌خواد اسمشون یکی باشه یا نباشه. متغیرهای مرجع هم شامل همین توضیح اول می‌شن که حتی اگه اسم هم متفاوت باشه به یه محل حافظه اشاره و دسترسی دارن.

sahandmax
جمعه 18 مهر 1393, 21:50 عصر
خیلی متشکرم آقا مسعود عزیز :تشویق::قلب: