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自己测试