C++ 从函数返回两个变量,为什么首选 auto?
C++ Returning two variables from function, why is auto prefered?
我正在尝试学习几种从函数中 return 多个变量的方法,并以这种方式遇到了这种情况。我想知道在这种情况下您可以用什么替换 auto 。至少对我来说 auto 是令人困惑的,现在我在一定程度上避免了它。
auto twoInteger() {
struct bo{
int m_three{};
int m_four{};
};
return bo{10, 20};
}
int main() {
auto [value1, value2] = twoInteger();
std::cout << value1 << value2 << std::endl;
}
方法有很多种。但最简单的方法是给出参数作为参考。
auto twoInteger(int &num1,int &num2) {
struct bo{
int m_three{};
int m_four{};
};
num1 = 40;num2 = 20;
}
int main() {
int value1;
int value2;
twoInteger(value1,value2);
std::cout << value1<<' '<<value2<< std::endl;
}
如果需要更多方法。
this article
我正在尝试学习几种从函数中 return 多个变量的方法,并以这种方式遇到了这种情况。我想知道在这种情况下您可以用什么替换 auto 。至少对我来说 auto 是令人困惑的,现在我在一定程度上避免了它。
auto twoInteger() {
struct bo{
int m_three{};
int m_four{};
};
return bo{10, 20};
}
int main() {
auto [value1, value2] = twoInteger();
std::cout << value1 << value2 << std::endl;
}
方法有很多种。但最简单的方法是给出参数作为参考。
auto twoInteger(int &num1,int &num2) {
struct bo{
int m_three{};
int m_four{};
};
num1 = 40;num2 = 20;
}
int main() {
int value1;
int value2;
twoInteger(value1,value2);
std::cout << value1<<' '<<value2<< std::endl;
}
如果需要更多方法。 this article