使用pair需于代码头部添加#include
,并且随后加上一句:using namespace std;
即可。
注意:也可以在使用pair需于代码头部添加
#include
,因为map的内部实现设计pair,因此记不住“utility”也可以用“map”偷一下懒。
(1)纯定义
pair<typename1, typename2> p;
pair有两个参数,,分别对应first和second的数据类型,可以任意数据类型或容器
(2)定义后并初始化
有两种方式。
一种是pair<string, string> p("和泉纱雾","A罩");
另一种是使用自带的make_pair函数
make_pair("和泉纱雾","A罩");
pair的first和second分别按正常结构体的方式去访问即可。
两个pair类型数据可以直接使用==、!= 、<、<=、>、>=比较大小,比较规则是先以first的大小作为标准,只有当first相等后再去判别second的大小。
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(){
pair<string, string> p;
p.first = "和泉纱雾";
p.secnond = "A";
cout<< p.first << "" << p.second << endl;//输出和泉纱雾和A
p = make_pair("奈奈子","B");
cout<< p.first << "" << p.second << endl;//输出奈奈子和B
p = pair<string, int>("椎名真白","B");
cout<< p.first << "" << p.second << endl;//输出椎名真白和B
pair<int, int> p1(5,10);
pair<int, int> p2(5,15);
pair<int, int> p3(10,5);
if(p1<p3)printf("p1 < p3");
if(p1<=p3)printf("p1 <= p3");
if(p1<p2)printf("p1 < p2");
return 0;
}
(1)用来代替二元结构体及其构造函数,节省编码时间。
(2)作为map的键值对来进行插入。
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
map<string, int> mp;
mp.insert(make_pair("奈奈子", 1));
mp.insert(pair<string, int>("椎名真白",2));
for(map<string, int>::iterator it = mp.begin(); it != mp.end(); it++){
cout << it->first << "" << it -> second << endl;
}//输出"奈奈子", 1和"椎名真白",2
return 0;
}
版权所有:可定博客 © WNAG.COM.CN
本文标题:《C++ STL容器之pair快速入门》
本文链接:https://cloud.tencent.com/developer/article/1616918
特别声明:除特别标注,本站文章均为原创,本站文章原则上禁止转载,如确实要转载,请电联:wangyeuuu@qq.com,尊重他人劳动成果,谢过~