pair:看作内部有两个元素的结构体
pair的定义:
#include<stdio.h>
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(void){
pair<string,int> p("haha",5);
return 0;
}
临时构建pair结构
pair<string,int>("haha",5);
make_pair("haha",5);
pair中元素的访问:
pair中只有两个元素,first和second,按照正常结构体方式访问
三种定义方式对应一种访问方式
#include<stdio.h>
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(void){
pair<string,int> p;
p.first = "one";
p.second = 1;
cout<<p.first<<" "<<p.second<<endl;
p = pair<string,int>("second",2);
cout<<p.first<<" "<<p.second<<endl;
p = make_pair("third",3);
cout<<p.first<<" "<<p.second<<endl;
return 0;
}
pair数据的比较:
正常比较,先比较first,后比较second
用途:
可以作为map的键值对插入
#include<stdio.h>
#include<iostream>
#include<utility>
#include<string>
#include<map>
using namespace std;
int main(void){
map<string,int> mp;
mp.insert(make_pair("heihei",5));
mp.insert(pair<string,int>("haha",10));
map<string,int>::iterator it;
for(it = mp.begin();it!=mp.end();it++){
cout<<it->first<<" "<<it->second<<endl;
}
return 0;
}