PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 運算子多載一問
作者:
d630200x
(DOGE)
2018-06-17 18:17:08
在一般運算子多載中的宣告為下
傳回型別 operator運算子符號(.....)
然而看到比如要多載++前置或者是右移運算子>>時
宣告會變成
傳回型別& operator運算子符號(.....)
個人不太能理解這個&的意義,翻來翻去也沒有找到解答
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2018-06-17 18:46:00
因為它必須要能夠回傳被作用的物件本身a.prefix_inc() 的回傳值必須要能夠是 a 本身你可以想想看上面要怎麼實作, 就知道沒有參考做不出來
作者: jerryh001
2018-06-17 19:16:00
reference type 而比較不精確的說法是回傳物件本體
作者:
sarafciel
(Cattuz)
2018-06-17 19:33:00
拿最單純的int來說 i+1是右值,++i是左值而左值必須要有明確的記憶體位址 右值不用所以你看到的一般運算符是回傳純value而prefix++這種就必須帶reference 他才會帶記憶體位置要寫回傳純value的++也可以 只是這樣就跟大多數人理解的prefix++有落差這樣至於>>這個東西雖然C原生是回右值的 不過C++又把>>拉去做iostream的運算符 你看到的>>重載我猜應該是拿來接iostream用的
繼續閱讀
[問題] 請問這個二元樹哪邊出了問題??
hunkchen2016
[問題] c 讀取csv檔
a346571358
[作品] 純設定的編譯系統
dannypsnl
Re: [問題] Conan
Neisseria
[問題] 請問二元樹裡面的遞迴???
hunkchen2016
[問題] Conan
XAMDOU
[問題] reader and writer problem [已解決]
penpenk
[問題] WPF中共享變數資料
Dong0129
[問題] KEIL C安裝使用問題
iloveduck
Re: [問題] x+=x&-x 是什麼意思?
ToMmyDong
Links
booklink
Contact Us: admin [ a t ] ucptt.com