作者godfat (godfat 真常)
看板PLT
標題Re: [問題] 請問call by address
時間Thu Mar 22 20:19:20 2007
不知為何最近事變好多…很多事都延遲了
※ 引述《tkcn (小安)》之銘言:
: ※ 引述《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 的變形了
: 個人聽過一種說法,
: reference 骨子裡是以 address 實作,
: 但是表面上卻把它包裝成就像是直接在操作物件一樣,
: 因此使用 reference 比使用 address 更為直覺且安全。
雖然我不知道這部份實際上是怎麼寫的,不過聽到的也都是用 pointer 實作。
另 reference 除了使用上更為直覺且安全外,也提供了 compiler 更多資訊,
(不可能是 0, refer 途中不可能改變位置)使得最佳化也變得更為容易(應該)。
但 Qt 卻不愛用 reference, 喜歡用 pointer 傳遞參數。
記得在某個地方有提到,因為 Qt 認為傳遞 reference 沒有明確表示出 side effect,
而傳遞 pointer 時,programmer 會比較注意到這個傳遞是會有 side effect 的。
QWidget widget;
do_someting(&widget);
各種不同的想法,我覺得滿有趣的。
: : 其實我只是想說,名詞不太重要,不是因為他真的不重要,
: : 而是說法真的是太多種了|||b
: : 所以呢,知道是什麼事情就好了… :(
: 這一點我也十分贊同,
: 不過與其讓讀者呆呆的片面相信某本書的說法,
: 我覺得還是有必要弄清楚其中的一些細節。
這也是為什麼我說名詞不重要,卻還是一天到晚在提名詞的原因 :p
總覺得台灣實在有太多的書在胡說八道了。(恐怕老師也是)
(嗯,說到老師就開始想罵人了…
十年沒碰也敢教,錯誤百出還自信滿滿,都被質疑了也不會想想自己是不是錯了)
--
「行け!Loki!」
(rocky ロッキー)
-Gurumin ぐるみん 王子? XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.58.12