c++ - 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.
如果它不像我解释的那样工作,那么它是如何工作的?
解决方案
加号运算符将它的 Rvalues 添加到它的 Lvalues
这是对的。它会这样做,但会将临时结果存储在内存中,并返回结果供您使用。您需要将此结果显式保存到您管理的某个变量中。
例如,如果你想改变 x,你可以这样做x=x+1
,否则你可以使用一个新的变量,例如int result = x+1
。
这里有广泛的解释。报价:
所有算术运算符都会计算特定算术运算的结果并返回其结果。参数未修改。
推荐阅读
- sql - 如何检查SSMS中的表关系是否是一对多的
- rust - 实施可选特征要求
- javascript - 如何在应用程序或手机内部存储中保存/存储签名图像。在本机反应
- javascript - 使用打字稿限制数组字符串值
- sql - 如果不满足条件,如何在 array_agg 中获取一个空数组?
- php - CodeIgniter:对于每个循环尝试分配非对象的属性“详细信息”
- python - 用另一行中的值填充 nan 值,并在两列或多列中使用公共值
- mobile - 空手道移动测试框架在单击选项时抛出错误
- c# - 如何修复图表 x 轴位置?
- c# - 将 JSON 字符串解析为动态对象而不使用 System.Runtime.Serialization.Json 创建类