tuple元组相当于一个对象返回多个不同类型的数据,常用于函数入参或出参(原先是通过定义结构体传递多个参数,现在可用直接通tuple替代),当然用tuple性能没直接用结构体好,自己可以根据项目情况选择
下面示例为c++11的用法,c++17有更简单的用法
#include <iostream>
std::tuple<int, std::string> dorequest(const std::string& data)
{
int rtncode = 0;
std::string errinfo;
if (data == "") {
return std::make_tuple(-1, "reqdata is null");
}
//业务处理
return std::make_tuple(rtncode, errinfo);
}
int main()
{
auto reqdata = std::string();
auto rtntuple = dorequest(reqdata);
int code = 0;
std::string errinfo;
std::tie(code, errinfo) = rtntuple ;
//c++17的用法
//auto &[code, errinfo] = rtntuple ;
if (0 != code)
{
std::cout << "dorequst failed, errcode:" << code << " errinfo:" << errinfo << std::endl;
}
else
{
std::cout << "dorequst success" << std::endl;
}
return 0;
}