zoukankan      html  css  js  c++  java
  • 《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;

  • 相关阅读:
    有一个双重模板化的错误实现
    非类型模板参数
    C++模板
    初始化列表initializer_list
    C++类型转换
    const引用和constexpr
    逆元
    卡特兰数
    最短路问题
    Android打印机效果的闪屏
  • 原文地址:https://www.cnblogs.com/custa/p/2042420.html
Copyright © 2011-2022 走看看