+= 和 =+ 之间的差异

2022-08-31 22:41:21

我错位了太多次,我想我一直忘记了,因为我不知道这两者之间的区别,只有一个给了我我期望的价值,而另一个没有。+==+

这是为什么呢?


答案 1

a += b是 的简写(但请注意,表达式只会计算一次。a = a + ba

a =+ b是 ,即将 的一元数赋给 。a = (+b)+ba

例子:

int a = 15;
int b = -5;

a += b; // a is now 10
a =+ b; // a is now -5

答案 2

+=是一个复合赋值运算符 - 它将 RHS 操作数添加到 LHS 操作数的现有值。

=+只是赋值运算符后跟一元 + 运算符。它将 LHS 操作数的值设置为 RHS 操作数的值:

int x = 10;

x += 10; // x = x + 10; i.e. x = 20

x =+ 5; // Equivalent to x = +5, so x = 5.