顺序表达式
以下表达式是按顺序排列的 :
a && b
a || b
a , b
a ? b : c
for ( a ; b ; c ) { ... }
在所有情况下,完全评估表达式 a
,并且在评估 b
或 c
之前应用所有副作用。在第四种情况下,将仅评估 b
或 c
中的一个。在最后一种情况下,b
被完全评估,并且在评估 c
之前应用所有副作用。
在所有情况下,在评估 b
或 c
之前对表达 a
的评估进行测序(或者,在评估 a
之后对 b
和 c
的评估进行测序)。
因此,表达式就像
x++ && x++
x++ ? x++ : y++
(x = f()) && x != 0
for ( x = 0; x < 10; x++ ) { ... }
y = (x++, x++);
有明确的行为。