21xrx.com
2024-11-22 06:28:35 Friday
登录
文章检索 我的文章 写文章
C++:函数如何返回两个值?
2023-06-22 14:46:18 深夜i     --     --
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++ 中,有很多方法可以从一个函数中返回多个值,需要选择合适的方法来适应实际的需求。

  
  

评论区

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