Return 3 个元素来自 C++ 函数
Return 3 elements from function C++
我想解决一个问题,需要子数组的最大和及其位置。该程序的解决方案是算法介绍一书中的伪代码,但它包含一个 returning,其中包含 3 个元素(低、高、总和)。我该怎么办?我怎样才能return三个元素?该程序很容易理解,但是 returning 让我无法将其转换为 c++。
您可以编写一个包含 3 个 int
和 return 的结构,来自函数:
struct data
{
int low, mid, high;
};
data fun( /* args ... */ )
{
// ...
return {low, mid, high};
}
或者,如果您不想明确命名该结构,您可以 return 一个包含 3 个 int
的 std::tuple
。
std::tuple<int, int, int> fun( /* args ... */ )
{
// ...
return {low, mid, high};
}
无论哪种情况,您都可以在调用站点上写:
auto [low, mid, high] = fun();
我想解决一个问题,需要子数组的最大和及其位置。该程序的解决方案是算法介绍一书中的伪代码,但它包含一个 returning,其中包含 3 个元素(低、高、总和)。我该怎么办?我怎样才能return三个元素?该程序很容易理解,但是 returning 让我无法将其转换为 c++。
您可以编写一个包含 3 个 int
和 return 的结构,来自函数:
struct data
{
int low, mid, high;
};
data fun( /* args ... */ )
{
// ...
return {low, mid, high};
}
或者,如果您不想明确命名该结构,您可以 return 一个包含 3 个 int
的 std::tuple
。
std::tuple<int, int, int> fun( /* args ... */ )
{
// ...
return {low, mid, high};
}
无论哪种情况,您都可以在调用站点上写:
auto [low, mid, high] = fun();