📅  最后修改于: 2023-12-03 15:12:19.595000             🧑  作者: Mango
在 C++ 中,函数可以返回一个值,但是如果需要返回多个值怎么办呢?这时可以使用返回两个参数的函数。
可以使用引用传递参数的方式,使得函数返回两个参数。例如:
void twoIntegers(int& a, int& b) {
a = 1;
b = 2;
}
int main() {
int x, y;
twoIntegers(x, y);
std::cout << "x = " << x << ", y = " << y << std::endl;
return 0;
}
以上代码中,函数twoIntegers
返回了两个值,分别是a
和b
。在main
函数中,我们通过引用将这两个返回值赋给x
和y
。最后打印出x
和y
的值。
这种方法的好处是可以同时返回多个值,但是容易造成参数的混乱,需要小心使用。
另一种方法是返回一个结构体,这个结构体包含了需要返回的多个值。例如:
struct TwoInts {
int a;
int b;
};
TwoInts twoIntegers() {
TwoInts res;
res.a = 1;
res.b = 2;
return res;
}
int main() {
TwoInts res = twoIntegers();
std::cout << "a = " << res.a << ", b = " << res.b << std::endl;
return 0;
}
以上代码中,函数twoIntegers
返回了一个包含两个值的结构体TwoInts
。在main
函数中,我们通过一个结构体变量res
接受这两个值并打印。
这种方法需要定义结构体,但是在传递参数方面相对更加清晰易懂。
综上所述,以上两种方法都可以返回两个参数的函数,需要根据实际情况选择。