c++ tuple用法
元组和数组不同,里面内容不能修改,各元素类型可以不一样。测试下:
void testTuple(void) {// 创建元组auto t1 = std::make_tuple(9527, 3.14, "懦夫救星");std::tuple<std::string, int> t2("该不会是想找我来解毒吧", 18);// 根据索引访问元素string val1 = std::get<2>(t1);std::cout << "val1: " << val1 << endl;// 根据类型访问元素,元组中只有这一个类型可以这样获取string val2 = std::get<string>(t2);std::cout << "val2: " << val2 << endl;// 函数想返回多个值,可以用元组封装std::function<std::tuple<string, int>()> func = []() {return std::make_tuple("老顽童", 70);};std::tuple<std::string, int> t3 = func();std::cout << "我是" << std::get<0>(t3) << ", 年龄: " << std::get<1>(t3) << endl;
}
打印:
ok.