首页 > 解决方案 > C++ 中的加号运算符

问题描述

我读过加号运算符将它的右值添加到它的左值中。例如,如果我们编写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.

如果它不像我解释的那样工作,那么它是如何工作的?

标签: c++operator-keyword

解决方案


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

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

例如,如果你想改变 x,你可以这样做x=x+1,否则你可以使用一个新的变量,例如int result = x+1

这里有广泛的解释。报价:

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


推荐阅读