从函数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个元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

怎样求数组中元素重复的次数

Python多处理 - 从3个不同的函数返回值[重复]

numpy数组列表中N个最高元素的索引[重复]

在C ++中返回二维数组对角元素之和的函数[重复]

C ++根据成员函数从向量中擦除对象[重复]

从 n 返回 k 个元素的所有组合的算法