c++ - 返回多个值 C++

标签 c++ function variables return

<分区>

有没有办法从一个函数返回多个值?在我正在处理的一个程序中,我希望从一个单独的函数向主函数返回 4 个不同的 int 变量,以及继续执行该程序所需的所有统计信息。我发现没有办法真正做到这一点。非常感谢任何帮助,谢谢。

最佳答案

在 C++11 及更高版本中,您可以使用 std::tuplestd::tie 进行非常符合以下语言风格的编程Python 返回多个值的能力。例如:

#include <iostream>
#include <tuple>

std::tuple<int, int, int, int> bar() {
    return std::make_tuple(1,2,3,4);
}

int main() {

    int a, b, c, d;

    std::tie(a, b, c, d) = bar();

    std::cout << "[" << a << ", " << b << ", " << c << ", " << d << "]" << std::endl;

    return 0;
}

如果你有 C++14,这会变得更加清晰,因为你不需要声明 bar 的返回类型:

auto bar() {
    return std::make_tuple(1,2,3,4);
}

关于c++ - 返回多个值 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731002/

相关文章:

javascript - 如何 console.log 多个对象?

php - 运行后从 php 文件运行 Javascript

c++ - NVIDIA NVCC 在使用模板特征类型时更改编译时间常量

c++ - 创建一个引用另一个 vector 的某些元素的 vector

javascript - block 作用域函数 ECMAScript 6 奇怪的行为

PHP - 如果变量不为空,则回显一些 html 代码

.net - 如何将变量传递给 SqlDataSource 的 SelectCommand?

c++ - 什么会导致罕见的 lchown() 失败 : Operation not permitted

c++ - 'if' 语句中的逗号是什么意思?

javascript - JS相当于Ruby的return if