C++中"+ ="的含义和名称是什么?

dus*_*usz 0 c++ operators compound-assignment

我是C++的新手,我一直在阅读和编写自己的一些代码.我不时会看到这些操作员,如果这是正确的用词吗?

+= // Not sure what it means
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:他们的意思/做什么,他们叫什么?

为了进一步参考,我想知道它们被称为什么,所以我可以很容易地查找它(仅仅搜索"+ =",例如什么也没有产生).

编辑:对于其他不知道其含义的人(或者在我的情况下知道这些的名称),我发现这个维基百科链接可能对其他人很方便:http://en.wikipedia.org/wiki/Operators_in_C_and_C% 2B%2B

Jos*_*eld 13

是的,这些是运营商.更具体地说,它们被称为复合赋值算子.以下是它们的完整列表:

*= /= %= += -= >>= <<= &= ^= |=
Run Code Online (Sandbox Code Playgroud)

它们的定义如下:

表单的表达式的行为E1 op = E2等同于E1 = E1 op E2E1计算一次的表达式.

所以x += 5;几乎是一样的x = x + 5;.

您可以将其视为修改添加.如果您这样做x + 5,表达式的结果就是您添加x5在一起x但未更改的结果.如果你这样做x += 5;,x实际上已经添加了5个值.