std::tuple是C++11引入的一个新特性,类似于pair,但每个pair都只能有两个成员,而tuple可以存储多个不同数据类型数据成员。
定义
示例
tuple<int, double, string> t{1, 1.1, "tuple"};
访问元素
在C++17之前,可以使用std::get来访问元组中的各个元素
std::get来访问
示例int first = get<0>(t); double second= get<1>(t); string third= get<2>(t);
在C++17及以后可以使用auto关键字
使用auto进行解包
示例auto [first , second, third] = t;
对于我们不在意的数据还可以使用占位符 '_'
示例auto [_, second, third] = t;
使用是std::tie进行解包
示例int first; double second; string third; tie(first, second, third) = t;
不在意的数据还可以使用ignore作为占位符
tie(first, ignore, third) = t;