是否可以使用其他变量为变量分配值,而无需在 C++ 中更改其值?

Is it possible to assign the value for a variable by using other variable without changing their values in C++.?

本文关键字:变量 C++ 其他 可以使 分配 是否      更新时间:2023-10-16

我正在尝试从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));

我仍然想知道你为什么要这样做。