原文链接来自csdn的一篇博客,
Pair类型概述,
Pair是一种类型模板,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下
std::pair<int,std::string> tempPair;
上面的定义表示tempPair中有两个类型,第一个元素是int类型的,第二个元素师std::string类型的,如果创建tempPair的时候没有对齐初始化,则调用默认构造函数对其初始化。
也可以在定义的时候直接对齐初始化内容,
std::pair<int,std::string> person(19,"James");
使用类型定义typedef
由于pair类型的使用比较繁琐,因此如果要定义多个形同的pair类型的时候,可以使用typedef类型定义,简化类型,如下所示,
typedef std::pair<std::string,std::string> author;
下面使用新定义的类型author
author microsoft("Bill","Gates");
author apple("Steve","Jobs");
Pair对象的操作
对于pair类型对象,由于它只有两个元素,分别名为first和second,因此直接使用普通的点(.)操作符即可访问其成员,
std::string firstname = microsoft.first;//"Bill"
std::string lastname = microsoft.second;//"Gates"
生成新的pair对象
可以使用make_pair对已经存在的两个数据构造一个行的pair类型
std::string first = "lee";
std::string last = "jan";
std::pair<std::string,std::string> newone;
newone = make_pair(first,last);
这时候newone的内容就是
{ first="lee"
second="jan"}
本人iOS码农,但是深感c/c++乃是王道,所以想要好好学习这方面的内容。我建了一个iOS交流群,有兴趣的大神可以进来相互学习,c++大神也欢迎进来指点江山、挥斥方遒。最近群的人数一直上不去,我甚是捉急,呜呜呜呜。。。。