我知道两者的值是相同的(比如 3 到 4)。但是,计算机是否将两者视为相同,它们是否都被视为表达式?
提前致谢!
两者都是肯定的,除了(value++)
评估为旧值,而(value = value + 1)
评估为新值。表达式内
的直接等价物是。(value = value + 1)
(++value)
请注意,它们都不是线程安全的。
为了增加乐趣,这里还有两个等效的选项:
value += 1;
value -= -1;
这是不正确的。相反,++value 与 value=value+1 相同。
++Value 是一个预增量。Value++ 是一个后增量。
'Post' 表示之后 - 即在读取变量后完成增量。'Pre' 表示之前 - 因此变量值首先递增,然后在表达式中使用。
例如:
int i, x;
i = 2;
x = ++i;
// now i = 3, x = 3
i = 2;
x = i++;
// now i = 3, x = 2
不,我的朋友 ++value 相当于 value=value+1 因为它正在更改新的值预增量运算符,而 value++ 正在更改保存在内存中的旧值,即后递增它