21xrx.com
2025-04-24 00:56:37 Thursday
文章检索 我的文章 写文章
C++:函数如何返回两个值?
2023-06-22 14:46:18 深夜i     18     0
C++ 函数 返回 两个值

C++ 是一种面向对象的编程语言,它拥有强大的函数功能,可以在不同的场景下返回一个或多个值。但是,有时候需要从一个函数中返回两个或多个值,这时该怎么办呢?

有很多方法可以实现这个目标,下面介绍一些常用的方法。

1. 结构体:使用结构体可以将多个值打包为一个对象并一起返回。结构体中可以定义多个成员变量,并在需要时赋值。以下是一个示例:

struct Point
  double x;
  double y;
;
Point getPoint()
  Point p;
  p.x = 10.0;
  p.y = 20.0;
  return p;

2. 指针参数或引用参数:使用指针或引用参数来修改调用函数中的变量值。以下是一个示例:

void getTwoValues(int a, int b, int* sum, int* product){
  *sum = a + b;
  *product = a * b;
}
int main(){
  int a = 5, b = 10, sum, product;
  getTwoValues(a, b, &sum, &product);
  cout << "Sum: " << sum << endl;
  cout << "Product: " << product << endl;
  return 0;
}

3. std::tuple:std::tuple 可以容纳多个值,并将它们作为一个对象返回。使用 std::get() 函数来访问每个值。以下是一个示例:

std::tuple<int, double, std::string> getTuple(){
  return std::make_tuple(1, 3.14, "hello");
}
int main(){
  auto t = getTuple();
  std::cout << std::get<0>(t) << std::endl; // 1
  std::cout << std::get<1>(t) << std::endl; // 3.14
  std::cout << std::get<2>(t) << std::endl; // hello
  return 0;
}

总之,在 C++ 中,有很多方法可以从一个函数中返回多个值,需要选择合适的方法来适应实际的需求。

  
  

评论区

请求出错了