我一直在到处找弄清楚这些意味着什么以及如何使用它们+=,-=,*=,/=,我已经找到了最重要的是,他们是,"通过差异分配","分配的产品","添加分配","作业by Quotient"等,但我无法弄清楚它们何时或如何使用.如果有人可以向我解释这一点,我将非常感激.谢谢
这些是赋值运算符(简写)
a += 1; is equal to a = a + 1;
b -= 1; is equal to b = b - 1;
a *= 1; is equal to a = a * 1;
b /= 1; is equal to b = b / 1;
Run Code Online (Sandbox Code Playgroud)
参考:链接
a+=1 means a = a+1
a-=2 means a = a-2
a*=3 means a = a*3
a/=4 means a = a/4
Run Code Online (Sandbox Code Playgroud)
请参阅7.13 Assignment operators规范及其小节.具体来说7.13.2 Compound assignment:
x op = y 形式的操作通过应用二元运算符重载决策(见第7.2.4节)来处理,就好像操作是用x op y 编写的一样.然后,
•如果所选运算符的返回类型可隐式转换为x的类型,则操作将计算为x = x op y,但x仅计算一次.
•否则,如果所选运算符是预定义运算符,如果所选运算符的返回类型可显式转换为x类型,并且如果y可隐式转换为x类型,则操作将计算为x =( T)(x op y),其中T是x的类型,除了x仅被计算一次.
•否则,复合赋值无效,并发生编译时错误.