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