c++ - 是否可以通过使用其他变量来为变量分配值而不更改它们在 C++ 中的值。?
问题描述
我正在尝试从 varA 和 varB 分配 varC 的值,而不更改 varA 和 varB 的值。但似乎 varA 和 varB 在为 varC 分配值时会与 varC 一起自动更改。这是我的代码。
#include <iostream>
using namespace std;
main ()
{
int varA = 10 ; // a = 10
int varB = 10; // b = 10
cout << "The exact value of varA is: " << varA <<'\n';
cout << "The exact value of varB is: " << varB <<'\n';
int varC = (++ ++ ++ ++ ++ ++ ++ ++ ++ ++ varA) += (varC = ++varB);
cout << "After assigning the value for varC The value of varA is: " << varA <<'\n';
cout << "After assigning the value for varC The value of varB is: " << varB <<'\n';
cout << "The assigned value of varC is: " << varC <<'\n';
cout << "The sum of varA, varB and varC is: " << varA + varB + varC << '\n';
return 0;
解决方案
预递增运算符 operator++
递增操作数的值,然后返回对它的引用。
operator+=
同样将左侧的值增加右侧的值,然后返回对它的引用。
在你的表达中,你多次打电话。您明确地告诉编译器您希望修改您的值。如果您只想将数字相加而不修改操作数,请使用operator+
推荐阅读
- python - 如何修复“ModuleNotFoundError:没有名为 'azure.storage' 的模块”?
- sql-server - 选择表中的特定记录
- excel - 与 Unix for Excel 中的 Head 和 Tail 命令等效的命令
- python - Listdir 路径应该是一个字符串。但我不知道该怎么办?
- algorithm - 就范围大小而言,调用 get(Range) 的 big-O 性能是什么?为什么?
- python - Python Creating a 7zip archive with command line
- bash - 如何将多行附加到dockerfile中的文件?
- java - 放大网址图片大小
- nativescript - NativeScript 中 DIV 的替代方法是什么?
- parameters - 将参数从python传递到applescript