可以说是pair的升级版
#include<iostream>
#include<vector>
#include <algorithm>
#include<map>
#include <iterator>
using namespace std;
int main()
{
tuple<int, string, float, double> t(66,"hello world",3.33,9.9999);
auto t2 = make_tuple(11, "hero", 6.66, 8.88); //两种定义方式
cout << "t1:" << get<0>(t) << endl;
cout << "t2:" << get<1>(t) << endl;
cout << "t3:" << get<2>(t) << endl;
cout << "t4:" << get<3>(t) << endl;
cout << endl;
int a;
string s;
float f;
double d;
tie(a, s, f, d) = t2; //绑定赋值
cout << "a=" << a << endl;
cout << "s=" << s << endl;
cout << "f=" << f << endl;
cout << "d=" << d << endl;
return 0;
}
测试结果
原理图如下,利用可变模板参数的特性