【发布时间】:2021-02-15 14:42:20
【问题描述】:
if(++x < 0){something}和if(x + 1 < 0){something}有什么区别
提前致谢
【问题讨论】:
标签: c++11 if-statement increment control-flow
if(++x < 0){something}和if(x + 1 < 0){something}有什么区别
提前致谢
【问题讨论】:
标签: c++11 if-statement increment control-flow
++x 立即将x 的值加1,并将x 的新值与0 进行比较。
虽然x+1 不会增加x 的值并且它的原始值保持不变,但只有x+1 的输出与0 进行比较。
【讨论】:
++x 将x 加一并返回结果。 x + 1 保留 x 原样并返回其值加一。所以区别在于操作后x的值。
上下文(是否在if 条件内)在这里无关紧要。
【讨论】:
x + 1 的情况下x 将保持-1。其实你可以自己用 Coliru 测试一下coliru.stacked-crooked.com/a/89891cb0c0cd6054