C pair使用案例详细信息
1 pair的应用
pair可以将两个数据合并为一个数据,在需要这种需求时使用pair,例如stl的映射就是将key和value一起存储。 另一个应用是,如果一个函数需要返回两个数据,则可以选择pair。 pair实现是一个结构,两个主要成员变量是first second,而不是使用struct的class,因此可以直接使用pair成员变量。
2 make_pair函数
templatepairmake_pair(T1a,T2 b ) returnpair,b ); }
很明显,可以使用pair构造函数和make_pair来生成所需的pair。 make_pair通常用于需要pair作为参数的地方。 可以直接调用make_pair生成pair对象很有用,代码也很清楚。 另一个方面是,pair可以接受隐式类型转换,从而提高灵活性。 灵活性还存在以下问题
STD :3360 pair (1,1.1 );
STD :3360 make _ pair (1,1.1 );
不是。 第一个是浮点,第二个是自己匹配双精度。
类模板:模板结构支付
参数: T1是第一个值的数据类型,T2是第二个值的数据类型。
功能: pair将值对合并为一个值。 该对可以具有不同的数据类型(T1和T2 ),两个值分别可以通过pair的两个公共函数first和second访问。
具体使用方法:
1 .定义(结构) :
pair p1; //使用默认构造函数
pairp2(1,2.4; //用规定值初始化
pairP3(P2; //复制构造函数
通过first和second访问两个元素:
pair p1; //使用默认构造函数
p1.first=1;
p1.second=2.5;
cout p1.first ' ' p1.second endl;
输出结果:1 2.5
3 .赋值操作器=:
(1)使用make_pair :
pair p1;
P1=make _ pair (1,1.2 );
)2)变量间赋值:
pair P1 (1,1.2;
pair p2=p1;
Pair类型概述
pair是包含两个数据值的模板类型,两个数据的类型可以不同。 基本定义如下。
pair a;
表示a有两个类型。 第一个元素是int类型,第二个元素是string类型。 如果在创建pair时未初始化,请调用默认构造函数进行初始化。
paira(James )、(Joy );
如上所述,也可以在定义时直接初始化。
由于pair类型的使用很复杂,因此在定义多种形式的pair类型时,typedef可以简化声明。
类型支付器;
authorpro('may )、' ymdxte );
AuthorJoye('James )、'撒娇的栗子);
使用Pair对象
对于pair类,只有两个元素: first和second,因此可以直接使用普通的点操作符访问成员
paira('ymdxte )、' Poly );
字符串名称;
name=pair.second;
生成新的pair对象
可以使用make_pair为两个现有数据创建新的pair类型。
int a=8;
字符串m=' James ';
pair newone;
newone=make_Pair(a,m );
感谢您的阅读。 希望对大家有帮助。 感谢您对本网站的支持。