C++ 表达式C+的求值顺序+;

C++ 表达式C+的求值顺序+;,c++,expression,C++,Expression,书中第1.4.1节说 表达式的求值顺序是从左到右,除了 作业,从右到左。” 但是,我在CPP引用中读到,C++在评估表达式时没有顺序概念:它可以按任意顺序来评估表达式。所以我有两个问题: 作者这是什么意思 即使评估是从左到右进行的,我是否应该担心这一点?运算符的优先级无论如何都会发生,还是我错了 这回答了你的问题吗?我正要说作者错了,然后我看到作者是比亚恩。我会看到自己的……C++规则是复杂的,所以大多数“简单”的句子是简化或上下文特定的(这可以忽略特定的情况)。显然你的C++书籍的旅行不同

书中第1.4.1节说

表达式的求值顺序是从左到右,除了 作业,从右到左。”

但是,我在CPP引用中读到,C++在评估表达式时没有顺序概念:它可以按任意顺序来评估表达式。所以我有两个问题:

  • 作者这是什么意思

  • 即使评估是从左到右进行的,我是否应该担心这一点?运算符的优先级无论如何都会发生,还是我错了


  • 这回答了你的问题吗?我正要说作者错了,然后我看到作者是比亚恩。我会看到自己的……C++规则是复杂的,所以大多数“简单”的句子是简化或上下文特定的(这可以忽略特定的情况)。显然你的C++书籍的旅行不同于我的书。我的书中引用了更多的内容和上下文,“对
    x.y
    x->y
    x(y)
    x[y]
    xy
    x&&y
    ,和
    x|y
    ,用于作业(例如,
    x+=y
    ),顺序是从右到左。不幸的是,其他表达式(例如,
    f(x)+g(y)
    )和函数参数(例如,
    h(f(x),g(y))
    )的求值顺序未指定。”。作者所说的正是他的意思。只要你不做任何聪明的事,你就不必担心它;是的,操作符的优先级将发生。这是否回答了你的问题?我正要说作者错了,然后我看到作者是比亚恩。我会看到自己的……C++规则是复杂的,所以大多数“简单”的句子是简化或上下文特定的(这可以忽略特定的情况)。显然你的C++书籍的旅行不同于我的书。我的书中引用了更多的内容和上下文,“对
    x.y
    x->y
    x(y)
    x[y]
    xy
    x&&y
    ,和
    x|y
    ,用于作业(例如,
    x+=y
    ),顺序是从右到左。不幸的是,其他表达式(例如,
    f(x)+g(y)
    )和函数参数(例如,
    h(f(x),g(y))
    )的求值顺序未指定。”。作者所说的正是他的意思。只要你不做任何聪明的事,你就不必担心它;是的,操作符的优先级无论如何都会发生。