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