[問題] call/pass by value/address/reference

看板C_and_CPP作者 (QX)時間11年前 (2014/07/20 22:56), 編輯推噓2(2012)
留言14則, 7人參與, 最新討論串1/1
call by value pass by value call by address pass by address call by reference pass by reference 想請問一下 這六種之間的差異 應該要去怎麼理解呢!? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.34.60 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1405868190.A.30A.html

07/20 22:58, , 1F
你有 google 過了嗎?這個找一下有很多教學的
07/20 22:58, 1F

07/20 22:59, , 2F
value 是將內容複製一份過去,address 是將記憶體
07/20 22:59, 2F

07/20 22:59, , 3F
位址直接傳給對方
07/20 22:59, 3F

07/20 23:00, , 4F
reference 一樣是傳送記憶體位址,但有再用別名包裝
07/20 23:00, 4F

07/20 23:07, , 5F
我查過了,但是我主要想了解 call/pass 差異
07/20 23:07, 5F

07/20 23:21, , 6F
沒太多差異
07/20 23:21, 6F

07/20 23:22, , 7F
然後 by address 其實是 by value 的一種
07/20 23:22, 7F

07/20 23:35, , 8F
把前面的 "call"/"pass" 去掉然後只看後面如何XD
07/20 23:35, 8F

07/20 23:45, , 9F
call 是形容 function, pass 是形容參數或引數
07/20 23:45, 9F

07/20 23:46, , 10F
call by value 的 function 的參數就是 pass by value
07/20 23:46, 10F

07/21 00:38, , 11F
兩個一樣啊…
07/21 00:38, 11F

07/21 00:51, , 12F
只有by value 跟by reference其他都是虛名
07/21 00:51, 12F

07/21 00:53, , 13F
Pass-by-Result, Pass-by-Value-Result, Pass-by-Copy
07/21 00:53, 13F

07/21 00:53, , 14F
Pass-by-Name, Pass-by-Assignment
07/21 00:53, 14F
文章代碼(AID): #1JozYUCA (C_and_CPP)