C++11 在if语句中使用increment

C++11 在if语句中使用increment,c++11,if-statement,increment,control-flow,C++11,If Statement,Increment,Control Flow,if(++x

if(++x<0){something}
if(x+1<0){something}


提前感谢

++x
x
增加1并返回结果
x+1
使
x
保持原样,并返回增加1的值。因此,差异在于操作后的
x


上下文(在
内部,如果
条件与否)在这里是不相关的。

++x
立即将
x
的值增加1,并将
x
的新值与
0
进行比较


虽然
x+1
不会增加
x
的值,并且它的原始值保持不变,但只有
x+1
的输出与
0

进行比较,因此这是否意味着,例如,x=-1,if(++x<0)意味着实际上是if(0<0)返回false,x变为0。其中,如果(x+1<0)也将返回false,但x保持不变,0?在
x+1
的情况下
x
将保持
-1
。事实上,你可以用Coliru自己测试