stl(1)pair
C++pair
1.pair的定义和结构
在c++中,pair为一个模板类,用于表示一对值的组合,即为将两个数据组合成一组数据
其标准库类型--pair类型定义在#include <utility>头文件中
pair类模板有两个模板参数,T1和T2,用以表示值的类型
pair类模板有两个成员变量,first和second,分别表示第一个值和第二个值
pair的成员函数和特性,如默认构造函数,带参数的构造函数。比较运算符重载…
2.pair的创建和初始化
pair包含两个数值,与容器一样,pair也是一种模板类型。但是又与之前介绍的容器不同;
在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同
pair<string, string>a
// 创建一个空对象anon,两个元素类型都是string
pair<string, int>b
// 创建一个空对象b两个元素类型分别是string和int类型
pair<string, vector<int>>c
// 创建一个空对象c,两个元素类型分别是string和vector类型
也可以在创建时直接进行初始化
pair<int,int>a(1,1)
3.pair的嵌套
pair可以进行嵌套,也就是说可以将一个pair对象作为另一个pair对象的成员
通过嵌套pair,可以方便地组合多个值,并形成更复杂的数据结构
4.pair自带排序
pair自带的排序规则是按照first成员进行升序排序
如果first成员相等,则按照second成员进行升序排序
这意味着当使用标准库中的排序算法(如std::sort)对包含pair对象的容器进行排序时,会根据pair对象的first成员进行排序