作者applecool (noOneKnows)
看板C_and_CPP
標題Re: [問題] call function用reference取代pointer
時間Sat Jan 7 17:19:03 2012
分享一下經驗:
我覺得在傳遞物件比較大的時候會喜歡用引用和指標
但我覺得好像這兩個效率是一樣的(純粹個人感覺),
至於實際寫 code 好像習慣就好,
我覺得傳指標的時候彈性比較大,可以更改指標本身,可以轉 void *
不過傳引用的時候可以省掉很多符號,但是傳引用要達到一樣的彈性我就不會用了。
不過另一方面,自己定義類別運算符號 ++, -- 那些 Operator Overloading,
我也只會用引用來做。
我覺得最大的好處是可以增加可讀性,
還可以套一些現有的 library。自己設計一些常用演算法也方便。
不過如果傳小物件時 除非必要,我想傳值可能比較好吧。
如果有錯請指正
謝謝。
※ 引述《Zoxge (Zoxge)》之銘言:
: 請問一個觀念上的問題
: 什麼情況下會想要使用call by reference呢?是只有在引數想要跟著變的時候嗎?
: 那什麼情況下會想要使用call by pointer?
: 最近聽到一個說法:以call by reference取代call by pointer
: 理由好像是比較不會出錯
: 但是小弟百思不得其解,這樣做真的有比較好嗎?
: 速度有比較快嗎?實際寫code會比較容易嗎?
: 不知道大家對這個說法有什麼樣的意見?
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.137.130
→ applecool:反正還是要看做什麼用吧我想 01/07 17:20
→ applecool:但是個人感覺寫code不會比較容易,似乎頂多是方便吧。 01/07 17:21
→ applecool:套library和設計演算法方便我是指Operator Overloading 01/07 17:23
→ applecool:喔還有一點,就是把一段已有的 code 寫成函數的時候, 01/07 17:25
→ applecool:用引用可以避免改太多code (當然也可以有指標的引用) 01/07 17:26