【C/C++入门攻略】C++标准模板库(STL)用法介绍:pair

C++标准模板库(STL)用法介绍:pair

pair:可以看作是一个内部有两个元素的结构体,STL容器之一,可以将两个任何基本类型(包括STL容器)绑在一起而不用定义结构体。

使用pair前需要添加:

#include <utility>

using namespace std;

注:由于map的内部实现中涉及pair,因此可以用map头文件来代替utility

1. pair声明

pair是一个模板类,所以使用前需要声明。

//声明
pair<typename1, typename2> p;
//初始化
pair<typename1, typename2> p(a, b);  //a, b是想要初始化的元素

typename1, typename2可以是任何基本类型,也可以是STL标准容器

如果只是想临时构建一个pair(通常可作为键值对插入map),可通过如下两种方法:

//直接跟在类型定义后面
pair<typename1, typename2> (a, b);   //a, b是想要初始化的元素
//make_pair函数
make_pair(a, b);                     //a, b是想要初始化的元素

2. pair访问

pair的结构相当于下面这个二元结构体:

//pair
pair<typename1, typename2> p;
//等价二元结构体
struct p {
    typename1 first;
    typename2 second;        
};

pair中只有两个元素,分别是first, second,只需要按正常结构体的方式去访问即可

cout << p.first << " " << p.second << endl;

3. pair用途

(1)代替二元结构体及其构造函数

(2)作为map的键值对来进行插入

注:两个pair类型数据可以直接使用==, !=, <, <=, >, >=比较大小,比较规则是先以first的大小作为标准,只有当first相等时才去判别second的大小


欢迎访问我的STL系列:

C++标准模板库(STL)用法介绍:目录

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值