C++中的加号运算符

mey*_*our 0 c++ operator-keyword

我读过加号运算符将其右值添加到其左值中。例如,如果我们编写x + 1;加号运算符x,在内存中查找变量并添加1到其中。

但是这个运算符不是这样工作的,因为在下面的代码中,它不会添加1到它的左值 ( x)。

int x = 4;
x + 1;// now the + operator adds 1 to x variable.
std::cout << x << std::endl;// this line must print 5 but doesn't.
Run Code Online (Sandbox Code Playgroud)

如果它不工作,就像我怎么解释,那怎么工作?

Tu.*_*Ma. 5

加号运算符将它的 Rvalues 添加到它的 Lvalues

这是对的。它会这样做,但它将临时结果存储在内存中,并返回结果供您使用。此结果需要由您明确保存到您管理的某个变量中。

例如,如果要更改 x,则可以执行x=x+1,否则可以使用新变量,例如int result = x+1

这里有广泛的解释。引用:

所有算术运算符都计算特定算术运算的结果并返回其结果。不修改参数。