21xrx.com
2024-09-20 00:57:56 Friday
登录
文章检索 我的文章 写文章
C++函数如何返回两个值?
2023-07-08 05:56:20 深夜i     --     --
C++函数 返回两个值 返回值方法 多值返回 二元元组

在C++中,函数通常只能返回一个值。但有时候,在某些情况下需要从函数中返回两个或多个值。这时候我们可以使用以下几种方法:

1. 返回数组或结构体

我们可以将需要返回的值放到一个数组或结构体中,然后将该数组或结构体作为函数的返回值。这种方法被广泛地使用,因为它不仅可以返回多个值,而且还可以方便地处理多种类型的数据。示例如下:


#include <iostream>

using namespace std;

struct Pair // 定义一个结构体

 int value1; // 两个整数类型的数据成员

 int value2;

;

Pair getPair() { // 定义一个返回结构体的函数

 Pair p = 100; // 创建一个Pair类型的变量

 return p; // 返回该变量

}

int main() {

 Pair p = getPair(); // 调用函数并接收返回值

 cout << p.value1 << " " << p.value2 << endl; // 打印两个值

 return 0;

}

2. 使用指针或引用参数

除了返回数组或结构体之外,我们还可以将需要返回的值赋给指针或引用参数。这种方法的缺点是需要向函数中传递指针或引用参数,但是它具有操作原对象的能力,而且不会产生新的对象。示例如下:


#include <iostream>

using namespace std;

void getPair(int* x, int* y) { // 定义一个使用指针参数的函数

 *x = 100; // 赋值给x指向的整型变量

 *y = 200; // 赋值给y指向的整型变量

}

void getPair(int& x, int& y) // 定义一个使用引用参数的函数

 x = 100; // 赋值给x引用的整型变量

 y = 200; // 赋值给y引用的整型变量

int main() {

 int a, b;

 getPair(&a, &b); // 调用函数并传入指针参数

 cout << a << " " << b << endl;

 getPair(a, b); // 调用函数并传入引用参数

 cout << a << " " << b << endl;

 return 0;

}

无论使用哪种方法,都可以在C++中返回多个值。推荐使用第一种方法,因为它更加清晰、易于维护。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复