《C++ Primer》關於自增自減操作符的描述錯誤


《C++ Primer》5.5  P140

錯誤描述:

Because the prefix version returns the incremented value, it returns the object itself as an lvalue. The postfix versions return an rvalue.

因為前置操作返回加1后的值,所以返回對象本身,這是左值。而后置操作返回的則是右值。

 

《C和指針》5.1.5  P73

正確描述:

抽象地說,前綴和后綴形式的增值操作符都復制一份變量值得拷貝。用於周圍表達式的值正是這份拷貝。前綴操作符在進行復制之前增加變量的值,后綴操作符在進行復制之后才增加變量的值。這些操作符的結果不是被它們所修改的變量,而是變量的拷貝。

不管抽象不抽象,前綴形式的自增自減操作符的結果是不能用作左值的,下面的操作就是錯誤的:

++a = 10;


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com