Re: [問題] 可否讓陣列引數變成傳值呼叫

看板PLT (程式語言與理論)作者 (sbr)時間15年前 (2009/05/31 17:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《godfat (godfat 真常)》之銘言: : : 推 godfat:統一名詞沒什麼不好,很多地方by address/reference是一樣的 05/31 14 : 我之所以說是一樣的,是說兩者意思是相同的,都是把 address 丟過去, : 可以想像成 pointer of pointer. 這是根據之前 wikipedia: : http://en.wikipedia.org/wiki/Evaluation_strategy : 還有一些 google 之後的結果得到的結論。和很多台灣的書上所說是有點差距的。 : 但是... 現在 wikipedia 那頁上,已經找不到 call by address 這個詞了。 如果你把 by address 定義成透過 by value 把 address 傳遞過去的話,那麼 by address 與 by reference 應該還是非同義。by reference 最原始的意思應 是 pass 任何線索(關連)使得接收端可以按線索取得要傳遞的物件,雖然許多 C++ compiler 實做 reference type parameter 的方式是透過傳遞 address: void foo(int& n) void foo(int* _n) { { n = 87; *_n = 87; } } int main() int main() { { int data = 0; int data = 0; foo(data); foo(&data); ... ... } } 但這只是 by reference 的一種作法而已(by reference 的子集)。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.141.238
文章代碼(AID): #1A8aYyP_ (PLT)
文章代碼(AID): #1A8aYyP_ (PLT)