看板 PLT 關於我們 聯絡資訊
※ 引述《godfat (godfat 真常)》之銘言: : 根據 wikipedia, : http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference : ...總覺得這頁長得好像跟以前不一樣? : 我記得以前是說 call by address 是 call by reference 的另一種說法 : 也就是說,兩件事是指同一件事 : 現在看起來 call by address 又是 call by reference 的變形了 是同一種東西沒有錯, 建議盡量以教科書為準, 網路資訊為輔, 畢竟 wiki 是什麼都人可以去 edit 的, 你無聊的話也可以看看那篇的 history, 不過我 reply 這篇的時候 wikipedia 掛了, 不知道幾時才能再進去。 在 C/C++ 分辨這種東西很單純是看 call site 怎樣寫, 不經型別轉換就自動取 lvalue 丟進去那就是 by address/reference, 其餘的都是 by value, 在 C 要送變數的 address/reference 只能用 address-of 運算子取出 lvalue, 但這樣會 explicit 構成一個 temporary object (programmer 可見), 所以送過去的會是 temporary object 的 value, 也因此這個還是 call by value。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.216.167
godfat:可惜我幾乎沒有讀過教科書|||b 03/31 11:38
yago01:還是有老師會教call by address 唉 03/31 19:50
aoc90058:嚴謹的說,C 沒 call by address 03/31 20:36
aoc90058:K&R II , exactly passed by value 我記得有這麼一句 03/31 20:37
yago01:沒錯阿 C本來就沒有 有老師就說有阿...wahaha 03/31 23:27