是否可以使用其他变量为变量分配值,而无需在 C++ 中更改其值?
Is it possible to assign the value for a variable by using other variable without changing their values in C++.?
我正在尝试从varA和varB分配varC的值,而不更改varA和varB的值。 但是,当varC分配值时,varA和varB似乎与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+
可以看出: https://en.cppreference.com/w/cpp/language/operator_incdec
预递增和预递减运算符递增或递减 值,并返回对结果的引用。
增量运算符将在分配 varC 之前进行评估,因此会更改 varA 和 varB 的值。
如果你想让它不可读,那就这样吧。不管你这样做后的价值是什么。您将不得不重新分配它们或只是对其进行编码。就像你已经做过的那样varA=-- -- -- -- -- -- -- -- -- -- -- (varA-=(varB=--varB));
我仍然想知道你为什么要这样做。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 将数组的地址分配给变量并删除
- 为"adjacent"变量赋值时出现问题
- enum是C++中的宏变量还是整数变量
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 用C++中的一个变量定义一个常量
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 你能重载对象变量名本身返回的内容吗
- 内置函数可查看CPP中的成员变量
- 是否可以初始化不可复制类型的成员变量(或基类)
- 尝试通过多个向量访问变量时,向量下标超出范围
- 试图让变量检查数组中的某些内容
- Cpp-Tuple使用带有变量的get
- 将包含C样式数组的对象初始化为成员变量(C++)
- 当vector是tje全局变量时,c++中vector的内存管理
- 通过多个头文件使用常量变量
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 执行函数时导致崩溃的变量
- 变量没有改变?通过向量的函数调用