C++ 我可以让一个函数返回多个类型吗?

C++ 我可以让一个函数返回多个类型吗?,c++,oop,C++,Oop,如何使函数返回多个类型? 我想创建一个名为view的函数,返回视图名称、ID和薪水 我可以创建一个单(get)函数来执行此操作吗?您可以返回结构或std::tuple 比如: struct foo { std::string Name; unsingned int ID; unsigned int salary; }; foo bar() { return {"Smith", 42, 1000}; } 您有两个选择: 使用in-out参数或创建包含所有所需类型

如何使函数返回多个类型? 我想创建一个名为view的函数,返回视图名称、ID和薪水
我可以创建一个单(get)函数来执行此操作吗?

您可以返回结构或
std::tuple

比如:

struct foo
{
    std::string Name;
    unsingned int ID;
    unsigned int salary;
};

foo bar()
{
    return {"Smith", 42, 1000};
}
您有两个选择:


使用in-out参数或创建包含所有所需类型的结构/类。

您可以使函数返回包含这些属性的结构

struct Foo
{
 int value1;
 int value2;
};

Foo SomeFunction()
{
Foo f = { 1, 2 };
return f;
}

您可以使用标准类
std::tuple
。比如说

#include <iostream>
#include <string>
#include <tuple>

std::tuple<std::string, int, float> f()
{
    return std::make_tuple( "Doxim", 1, 3500.00 );
}

int main()
{
    auto t = f();

    std::cout << std::get<0>( t ) << '\t'
              << std::get<1>( t ) << '\t'
              << std::get<2>( t ) << std::endl;

    return 0;
}

#包括
#包括
#包括
std::tuple f()
{
返回std::make_tuple(“Doxim”,13500.00);
}
枚举{NAME,ID,SALARY};
int main()
{
自动t=f();

STD:请不要让你的问题的投票和不可避免的关闭是一个指示器,每个人在这里都是对新用户有敌意的。不过,快速的谷歌或搜索会回答你的问题。这就是为什么他们这样做。有三个问题处理多个来自C++函数的返回。如果没有一个问题。回答你的问题,然后你需要清楚地解释为什么你的问题不同。
Doxim   1   3500
#include <iostream>
#include <string>
#include <tuple>

std::tuple<std::string, int, float> f()
{
    return std::make_tuple( "Doxim", 1, 3500.00 );
}

enum { NAME, ID, SALARY };

int main()
{
    auto t = f();

    std::cout << std::get<NAME>( t ) << '\t'
              << std::get<ID>( t ) << '\t'
              << std::get<SALARY>( t ) << std::endl;

    return 0;
}