在此链接中,声明说
子表达式的求值顺序,包括运算符的操作数(例如,+、-、=、*、/)是未指定的。
很明显,在表达式中
foo1() = foo2() = foo3() = 7; // snippet of C++ code
运算符的操作数=
可以按任何顺序求值。您的编译器可以自由选择(链接,由Ralph Tandetzky回答)。
这个问题可能看起来很愚蠢,但我对此感到非常困惑。foo1()
如果、foo2()
和foo3()
被 、 和 代替a
,b
上述陈述是否也成立 c
?如:
a = b = c = 7;