例说数据结构&STL(十三)——pair

来源:互联网 发布:jy零食淘宝店网址 编辑:程序博客网 时间:2024/05/18 03:51

1 pair类型概述
  pair的功能就像它的名字一样,pair将一对值组合成一个值,这一对值可以具有不同的数据类型,两个值可以分别用pair的两个公有函数first和second访问。
 1.1 pair类型概述
  pair类所在的头文件与命名函数是:

#include <utility>

 1.2 pair对象基本定义
  pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:

pair<int, string> a;

  表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。

pair<string, string> a("James", "Joy");

  也可以像上面一样在定义的时候直接对其初始化。
  由于pair类型的使用比较繁琐,因为如果要定义多个形同的pair类型的时候,可以时候typedef简化声明:

typedef pair<string, string> author;author pro("May", "Lily");author joye("James", "Joyce");

 1.3 pair对象访问
  对于pair类,由于它只有两个元素,分别名为first和second,因此直接使用普通的点操作符即可访问其成员

pair<string, string> a("Lily", "Poly"); string name;name = pair.second;

 1.4 生成新的pair对象
  可以使用make_pair对已存在的两个数据构造一个新的pair类型:

int a = 8;string m = "James";pair<int, string> newone;newone = make_pair(a, m);

2 小结
  上面介绍了STL中pair类型,经常与其他数据结构list或者vector结合使用,对于需要两两同时访问的非常方便,无需自己构造结构体。
  以上是个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
  转载请注明出处:http://blog.csdn.net/FX677588/article/details/77417585

原创粉丝点击