版权声明:原创文章,转载请注明出处 https://blog.csdn.net/hza419763578/article/details/88420199
pair是一个很实用的小玩意
可以理解为一个写好的结构体 有两个成员,成员的类型由我们自己定
struct pair{
type1 first;
type2 second;
};
1.pair的定义
头文件#include<utility>或者直接#include<map>
pair<string,int> p;
pair<string,int> p("haha",5);构建临时pair:
pair<string,int>("haha",5);
make_pair("haha",5);
2.pair中元素的访问
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(){
pair<string,int> p;
p.first="hahaha";
p.second=5;
cout<<p.first<<" "<<p.second<<endl;
p=make_pair("xixi",55);
cout<<p.first<<" "<<p.second<<endl;
p=pair<string,int>("hehhe",555);
cout<<p.first<<" "<<p.second<<endl;
return 0;
}
3.pair常用函数实例解析
比较操作数
== != < > <= >= 直接用于pair 已经重载了,但是比较规则是优先比较first,相等然后才会比较second
#include<iostream>
#include<utility>
using namespace std;
int main(){
pair<int,int> p1(5,10);
pair<int,int> p2(5,15);
pair<int,int> p3(10,5);
if(p1<p3) cout<<"p1<p3"<<endl;
if(p1<=p3) cout<<"p1<=p3"<<endl;
if(p1<p2) cout<<"p1<p2"<<endl;
return 0;
}
4.pair常见用途
可以作为map键值对插入
#include<iostream>
#include <map>
using namespace std;
int main(){
map<string,int> mp;
mp.insert(make_pair("tom",123));
mp.insert(pair<string,int>("cat",456));
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++){
cout<<it->first<<" "<<it->second<<endl;
}
return 0;
}