c++ - 一个函数可以返回多个值吗?

标签 c++ return-value

函数能否直接返回多个值(即,不返回通过引用获取的参数)?

最佳答案

boost::tuple 库中,有 a function called tie这简化了从返回的 tuple 中获取信息的过程。如果你有一个函数返回一个包含两个 doubletuple 并希望将它们加载到两个局部变量 xy,您可以将函数的返回值分配给 boost::tie(x, y)

例子:

#include <math.h>
#include <iostream>
#include <boost/tuple/tuple.hpp>

const double PI = 3.14159265;

boost::tuple<double, double> polar_to_rectangular(double radius, double angle)
{
    return boost::make_tuple(radius * cos(angle), radius * sin(angle));
}

int main()
{
    double x;
    double y;

    boost::tie(x, y) = polar_to_rectangular(4, (45 * PI) / 180);
    std::cout << "x == " << x << ", y == " << y << std::endl;

    return 0;
}

关于c++ - 一个函数可以返回多个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571831/

相关文章:

javascript - 如何通过函数返回post结果?

c - 返回时 double 会四舍五入

c++ - 使用数据文件排序计算时遇到问题

c++ - 检查 vector 中的重复项并计算它们 C++

c++ - 断点安装失败: Interrupt failed

elasticsearch - Elasticsearch:对_all查询有效,但对特定字段不查询

javascript - 检查多个函数是否为真,然后做一些事情

c++ - 仅使用 STL 循环打印 map 值

c++ - 在自动对象上调用 delete

r - lambda 演算对返回值有什么要说的?