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