PDA

View Full Version : سوال: راجع Parameter Definition



پرستوجان
سه شنبه 09 شهریور 1389, 12:32 عصر
میشه
call by addres,difault parameters
روواسم توضیح بدین
مرسی.

yosefi_hossein
سه شنبه 09 شهریور 1389, 14:38 عصر
میشه سوالت رو واضح تر بپرسی؟

پرستوجان
سه شنبه 09 شهریور 1389, 17:19 عصر
ببین این مبحث مربوط میشه به آرگومان وپارامتر که چه جوری آرگومان روفراخوانی کنیم و اثرش روی پارامترمون چه جوری باشه و...
مثلاcall by refrenceتغییرات آرگومان باعث تغییرپارامترمون میشه.


class MC
{
public int M(ref int a)
{
int b;
a++;
b=a*a;
return b;
}
}

void main()
{
MC o=new MC();
int d=5,e;
e=o.M(ref d);
Console.Write(d,e);
}
که خروجیمونd=6,e=36 این یه مدل ساده ازcall by refrence.
call by addresهم یه مدل ازParameter Definitionاست مثل call by refrence ,...

پرستوجان
چهارشنبه 10 شهریور 1389, 12:05 عصر
یه دوست عزیزی گفت که call by addres همون call by refrence است.
بااین تفاوت که call by addresتوی c++ , cاستفاده میشه و call by refrence توی
#c استفاده میشه.
این موضوع درسته؟:متفکر:

javad_r_85
چهارشنبه 10 شهریور 1389, 12:53 عصر
سلام اگر منظورت اینه ref int a که باعث میشه وقتی این تابع را فرا خونی کنیم از این پارامتر در حافظه یک کپی درست نشه و در واقع اشاره به مرجع داره و هر گونه تغییر در این متغییر در مرجع اون نیز تغییر ایجاد میکند و برای مواقعی به کار می رود که می خواهیم متغییر مرجع را دست کاری کنیم یا تغییر دهیم و اگر درست از اون استفاده نشه در برنامه ایجاد خطر میکنه چون تابع به مرجع دسترسی داره و می تونه در اون تغییرات ایجاد کنه یا حتی اونا Null کنه