Ath*_*bey 1 c++ std-pair c++17
所以我有一个类myClass
和两个私有变量,假设 i,j 和一个类方法myMethod
如下-
std::pair<int, int > myClass::myMethod(void)
{
std::pair<int, int> Pair;
this->i = 100;
this->j = 50;
Pair.first = this->i;
Pair.second = this->j;
return Pair;
}
Run Code Online (Sandbox Code Playgroud)
我从另一个函数调用该方法如下 -
std::pair<int, int> receivedPair = myClass.myMethod();
Run Code Online (Sandbox Code Playgroud)
所以如果我编辑receivedPair
让我们说
receivedPair.first = 200;
Run Code Online (Sandbox Code Playgroud)
Class 变量i
也会变成等于 200 吗?我基本上需要通过引用串联的几个函数来传递变量,以便更新相同的内存位置...... TIA
的值std::pair
是按值计算的。
在你的情况下,虽然你可以使用
std::pair<std::reference_wrapper<int>, std::reference_wrapper<int>>
Run Code Online (Sandbox Code Playgroud)
作为类型。
参考:https : //en.cppreference.com/w/cpp/utility/functional/reference_wrapper