所以我知道C++有一个运算符优先级,而且
由于 pre++ 和 post++ 处于同一级别,因此无法确定哪个会先计算,因此
int x = ++i + i++;
由于 pre++ 和 post++ 处于同一级别,因此无法确定哪个会先计算,因此
是未定义的。但我想知道的是,如果
在 pre++ 或 post++ 之前出现,那么它是否有定义?int i = 1/2/3;
is undefined。我询问的原因是因为有多种解释方法:(1/2)/3或者1/(2/3)。 我的猜测是这是一种未定义的行为,但我想要确认一下。
operator+(++i,i++)
,那么它就很明显了。 - Chris A.int x = ++i + i++
的未定义性与操作符优先级无关。 - Benjamin Lindleyi
。恰好,前置递增和后置递增的优先级级别不同。 - Steve Jessop