Hap*_*tal 28 c c++ rvalue lvalue
在C++中,预增量运算符给出左值,因为返回了递增的对象本身,而不是副本.但在C中,它给出了右值.为什么?
Pra*_*rav 16
C没有参考.在C++中++i返回对i(lvalue)的引用,而在C中它返回一个副本(递增).
++i
i
C99 6.5.3.1/2
pre fi x ++运算符的操作数的值递增.结果是增量后操作数的新值.表达式++ Eis等价于(E + = 1).
‘‘value of an expression’’ <=> rvalue
但是由于历史原因,我认为"引用不属于C"可能是一个可能的原因.
归档时间:
14 年,9 月 前
查看次数:
1949 次
最近记录: