Re: [問題] 問一題面試可能會考的考題

看板C_and_CPP (C/C++)作者 (清新、健康、專業)時間16年前 (2010/01/15 11:05), 編輯推噓5(507)
留言12則, 4人參與, 最新討論串3/6 (看更多)
: 推 chchwy:拜託 call by address/pointer 都是以訛傳訛的錯誤名詞 01/14 23:06 : → chchwy:只有call by value / reference兩種而已 01/14 23:06 關於call by address這種問題,早就有人回答過了 直接貼原文 希望別再有人被誤導了 作者 tinlans.bbs@bbs.csie.nctu.edu.tw (汀), 看板 Programming 標題 Re: 請問call by referance !! 時間 交大資工鳳凰城資訊站 (Wed Sep 27 03:15:40 2006) 轉信 ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!netnews2.csie.nctu ─────────────────────────────────────── ※ 引述《junshung@kkcity.com.tw (... (b) pic)》之銘言: > 請問call by referance 跟call by adress 的用法有啥不同ㄋ > 書上只寫說 它們效果一樣 但寫法不同 但我還是不太懂 > call by referance 如果你要的是泛用性的正式定義, 那麼 call by address == call by reference, 傳 pointer 只是 call by value, 不能稱之為 call by address, 目前世界上只有台灣本土人寫的書會稱之為 call by address, 其它外國的書或是翻譯書都不曾直接指名其為 call by address。 文魁出的某本綠皮 Visual C++ (位元文化編著) 是一大笑話, 說 C++ 有 call by value、call by address、call by reference 三種參數傳遞法, 深受其害的 C++ programmer 在台灣已不計其數, 上次還在 google 上看到有人投影片也這樣寫。 雖然你沒有說你問的是不是 C++, 但從問法上聽起來, 很可能是在看 C++ 相關而且內容有問題的中文書。 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: Undecided Homepage: https://it.muds.net/~uranus -- ※ Origin: 交大資工鳳凰城資訊站 <bbs.csie.nctu.edu.tw> ◆ From: 61-230-218-238.dynamic.hinet.net costbook:轉錄至看板 C_and_CPP 09/27 06:48 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.112.206

01/15 11:10, , 1F
推這篇:)
01/15 11:10, 1F

01/15 12:48, , 2F
我上課的時候,教授教的也是這三種,但是我一直都搞
01/15 12:48, 2F

01/15 12:48, , 3F
不清楚address和reference到底有什麼差@@
01/15 12:48, 3F

01/15 13:10, , 4F
傳 *address 與 &reference
01/15 13:10, 4F

01/15 13:27, , 5F
個人的理解是, CBV與CBR(或CBA)的差異在於, 傳入func的
01/15 13:27, 5F

01/15 13:28, , 6F
是l-value還是r-value; 傳入r-value的就是CBV, 反之CBR.
01/15 13:28, 6F

01/15 13:29, , 7F
所以中文書誤用很久的CBA其實是CBV, 只是這個value是透
01/15 13:29, 7F

01/15 13:30, , 8F
過pointer型態將變數的address傳入func; 而真正的CBA其
01/15 13:30, 8F

01/15 13:30, , 9F
實如這篇引文所說的, 應該是CBR才對. 不曉得這樣理解有
01/15 13:30, 9F

01/15 13:31, , 10F
沒有問題就是....@_@"
01/15 13:31, 10F

01/15 20:27, , 11F
老實說 我也一直絕得只有兩種 可是一直聽到很多版本
01/15 20:27, 11F

01/15 22:18, , 12F
剛發現精華區: z->2->8->6 也有解釋這件事:)
01/15 22:18, 12F
文章代碼(AID): #1BJzj-b4 (C_and_CPP)
文章代碼(AID): #1BJzj-b4 (C_and_CPP)