How do I return two values from a function?
本问题已经有最佳答案,请猛点这里访问。
我如何设计一个函数原型,该函数原型将允许单个函数同时查找并返回数组中的最小值和最大值? 谢谢。
1 2 3 4 5 6 7 8 9 10 11 12 13 | std::tuple<int, int> returns_two() { return std::make_tuple(1, -1); } int main() { int a, b; std::tie(a, b) = returns_two(); // a and b are now 1 and -1, no need to work with std::tuple accessors std::cout <<"A" << a << std::endl; } |
当然,在这种情况下,您实际上不需要滚动自己的代码即可返回输入的最小值和最大值,因为已经有一个模板化的实用程序函数
1 2 3 4 5 6 7 8 | typedef struct { int a, b; } tuple; tuple example() { tuple ret = {1, 2}; return ret; } |
有三种可能的情况。
方法1使用全局数组。
方法2使用指针。
方法3使用结构。
您不能使用变量从C ++函数返回多个值。您只能返回具有多个值的数据结构,例如结构或数组。
使用
或者,您可以从函数返回数组以获取多个值。
有很多方法。