从函数C++返回3个元素[重复]
Posted
技术标签:
【中文标题】从函数C++返回3个元素[重复]【英文标题】:Return 3 elements from function C++ [duplicate] 【发布时间】:2021-06-07 11:36:57 【问题描述】:我想解决一个问题,它需要最大的子数组和它的位置。该程序的解决方案是算法介绍一书中的伪代码,但是它包含一个包含 3 个元素(低、高、总和)的返回。我能做些什么呢?如何返回三个元素?该程序易于理解,但是返回使我无法将其转换为c++。
【问题讨论】:
您可以创建结构/类,使用向量/数组或通过引用传递变量。 【参考方案1】:您可以编写一个包含 3 个int
s 的结构并从函数中返回它:
struct data
int low, mid, high;
;
data fun( /* args ... */ )
// ...
return low, mid, high;
或者,如果您不想明确命名结构,则可以只返回一个包含 3 个 int
s 的 std::tuple
。
std::tuple<int, int, int> fun( /* args ... */ )
// ...
return low, mid, high;
在任何一种情况下,您都可以在调用站点编写:
auto [low, mid, high] = fun();
【讨论】:
以上是关于从函数C++返回3个元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章