作者Lordaeron (Terry)
看板PLT
標題Re: [問題] 請問call by address
時間Sun Apr 1 00:32:55 2007
※ 引述《tinlans ( )》之銘言:
: 是同一種東西沒有錯,
: 建議盡量以教科書為準,
: 網路資訊為輔,
: 畢竟 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。
C 有object?
還是C++?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.167.210
1F:推 jtmh:這裡的 object 指的是 variable, 在 K&R C 那本常看到這麼用 04/01 00:48
2F:推 tinlans:一樓正解,PL 教科書和 C 標準規格書也會這樣用。 04/01 08:35
3F:推 caml:c的傳值會生成temp obj?? c++學太多了吧 04/01 09:40
4F:推 Lordaeron:這就是問題了, object 以現在的眼光來看, 另有意義了. 04/01 09:59
5F:推 tinlans:回三樓,&var 確實會生成一個 temp obj。 04/06 03:37