从函数C++返回3个元素[重复]

Posted

技术标签:

【中文标题】从函数C++返回3个元素[重复]【英文标题】:Return 3 elements from function C++ [duplicate] 【发布时间】:2021-06-07 11:36:57 【问题描述】:

我想解决一个问题,它需要最大的子数组和它的位置。该程序的解决方案是算法介绍一书中的伪代码,但是它包含一个包含 3 个元素(低、高、总和)的返回。我能做些什么呢?如何返回三个元素?该程序易于理解,但是返回使我无法将其转换为c++。

【问题讨论】:

您可以创建结构/类,使用向量/数组或通过引用传递变量。 【参考方案1】:

您可以编写一个包含 3 个ints 的结构并从函数中返回它:

struct data

 int low, mid, high;
;

data fun( /* args ... */ )

  // ...
  return low, mid, high;  

或者,如果您不想明确命名结构,则可以只返回一个包含 3 个 ints 的 std::tuple

std::tuple<int, int, int> fun( /* args ... */ )

  // ...
  return low, mid, high;  

在任何一种情况下,您都可以在调用站点编写:

auto [low, mid, high] = fun();

【讨论】:

以上是关于从函数C++返回3个元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章