當傳值進去function的時候 此值會產生一個暫時的副本 函式的回傳值也會產生一個
暫時的副本 。
比如說 int x=5;
int ref=function(x);
int function (int y)
{
int s;
s=y+1;
return s;
}
請問這副本是說記憶體有一個未命名空間(姑且稱呼為#)
1.傳進函式的時候 x把值給# #在給y 回傳的時候 s把值給# #在給ref
還是
2.傳進函式的時候 x把值給y 回傳的時候 s把值給ref 不需要什麼中間人#
我一直在想 x把值複製給y 也就是現在主副程式存在兩個一樣的值但位址不一樣
那這樣是否可稱呼 y就是這所謂的副本?
直到y做完函式要它作的計算 s=y+1 s把值傳回給ref s就是所謂的副本?
所以是1對 2對 還是都不對? 我覺得是1 可能是堆疊什麼的原理