《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;

相关文章:

  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
  • 2021-06-24
  • 2022-12-23
  • 2021-05-15
猜你喜欢
  • 2022-03-03
  • 2021-08-19
  • 2021-12-09
  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
相关资源
相似解决方案