在赋值表达式中,如果表达式左边的变量重复出现在表达式右边,如:
i = i + 2;
则可以将这种表达式缩写成下拉形式:
i += 2;
其中的运算符 +=称为赋值运算符。
大多数二元运算符(即有左右两个操作数的运算符,比如+)都有一个相应的赋值运算符 op=,其中,op可以是下面这些运算符之一:
+ - * / % << >> & ^ |
如果expr1和expr2是表达式,那么
expr1 op= expr2
等价于:
expr1 = (expr1) op (expr2)
它们的区别在于,前一种形式expr1只计算一次。注意,在第二种形式中,expr2两边的圆括号是必不可少的,例如
x *= y + 1;
等价于
x = x * (y + 1);