pair是一个很实用的“小玩意”,当想要将两个元素绑在一起作为一个合成元素、又不想要因此定义结构体时,使用pair可以很方便的作为一个代替品。也就是说,pair实际上可以看作一个内部有两个元素的结构体,且这两个元素的类型是可以指定的。
![](https://img.haomeiwen.com/i25166568/7ed56f12df871795.png)
使用pair,应先添加头文件#include<utility>,注意:由于map的内部实现中涉及pair,因此添加map头文件时会自动添加utility头文件,因此记不住“utility”拼写的读者可以偷懒地用map头文件来代替utility头文件。
定义:pair<typename1,typename2>name;
初始化:pair<string,int>p(“haha”,5);
想要在代码中临时搭建一个pair,有两种方法:
①pair<string,int>(“haha”,5);
②make_pair(“haha”,5); 自带的make_pair函数
pair中只有两个元素,分别是first和second。
两个pair类型数据可以直接使用==、!=、<、<=、>、>=比较大小,比较规则是先以first的大小作为标准,只有当first相等时才去判别second的大小。
pair的常见用途:
①用来代替二元结构体及其构造函数,可以节省代码时间。
②作为map的键值对来进行插入。
![](https://img.haomeiwen.com/i25166568/58b96f5dd8efb077.png)
网友评论