头文件< utility >
什么是pair
pair是将2个数据组合成一组数据的一个结构体
操作
/*先创建再赋值*/
pair<int, int> a;
a = make_pair(1, 2);
a = pair<int, int>(2, 3);
/*直接初始化*/
pair<int, int>b(1, 3);
/*拷贝*/
pair<int, int>c(a);
c = b;
cout << "第一个元素:" << c.first << "第二个元素:" << c.second << endl;//第一个元素:1 第二个元素:3
if (a > b)//先判定a.first>b.first 如果a.first!>b.first则判断a.second>b.second
cout << "a>b";
if (a == b)//判定a.first==b.first&&a.second == b.second
cout << "a==b";
/*复杂形式*/
pair<string, vector<int> > line;
tuple(元组)
头文件tuple
tuple即元组,可以理解为pair的扩展
/*初始化*/
tuple<int,double,string> t1 = {1, 2.0, "3"};
/*赋值*/
get<0>(t1) = 4;
/*获取值*/
cout << get<1>(t1) << endl;//2.0
/*批量的从t3获取数据*/
int i; double d; string s;
tie(i, d, s) = t3;
cout << i << d << s << endl;//1,2.0,3
/*不获取其中的一个值 ignore*/
tie(i, ignore, s) = t3;
tie(i, d, s) = {1, 2.0, "3"};//错误的×