[問題] function的傳值&回傳值副本問題
當傳值進去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 可能是堆疊什麼的原理
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.114.140
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1417458051.A.0A5.html
※ 編輯: anoymouse (220.136.114.140), 12/02/2014 02:22:04
推
12/02 03:20, , 1F
12/02 03:20, 1F
→
12/02 03:21, , 2F
12/02 03:21, 2F
→
12/02 03:21, , 3F
12/02 03:21, 3F
→
12/02 03:22, , 4F
12/02 03:22, 4F
→
12/02 03:23, , 5F
12/02 03:23, 5F
→
12/02 03:24, , 6F
12/02 03:24, 6F
推
12/02 10:58, , 7F
12/02 10:58, 7F
→
12/02 10:58, , 8F
12/02 10:58, 8F
→
12/02 10:59, , 9F
12/02 10:59, 9F
→
12/02 11:00, , 10F
12/02 11:00, 10F
→
12/02 11:01, , 11F
12/02 11:01, 11F
→
12/02 11:02, , 12F
12/02 11:02, 12F
→
12/02 11:33, , 13F
12/02 11:33, 13F
→
12/02 12:49, , 14F
12/02 12:49, 14F
推
12/02 15:57, , 15F
12/02 15:57, 15F
→
12/02 15:58, , 16F
12/02 15:58, 16F
→
12/02 15:58, , 17F
12/02 15:58, 17F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章