1. 定义
pair 是需要头文件 <utility>,可以用于存储两个不同(或相同)类型的数据 ,标志为 键值对 和 二元组。
2. 基本用法
定义:
cpp
pair<T1,T2> name;
T1、T2 为两个类型,name 为 pair 的名称。
初始化:
C++
// 方式1:默认构造(值未初始化)
pair<int,string> p1;
// 方式2:直接初始化(按顺序传参)
pair<int,string> p2(1,"hello");
// 方式3:拷贝初始化
pair<int,string> p3=make_pair(2,"world"); // make_pair自动推导类型
// 方式4:C++11列表初始化
pair<int,string> p4{3,"test"};
3. 成员访问
- 两个成员变量为公有 ,直接通过
first和second访问:
C++
cout<<p2.first; // 输出第一个元素(int型:1)
cout<<p2.second; // 输出第二个元素(string型:"hello")
4. 常用操作
(1)赋值
C++
p1=p2;//整体赋值
p1=make_pair(5,"ok");//通过make_pair赋值,按顺序传参
(2)比较运算
支持 ==、!=、<、<=、>、>=,比较规则:
-
先比较
first,若不等则结果由first决定; -
若
first相等,再比较second。
C++
pair<int,int> a(1,2),b(1,3);
a<b;//true(first相等,second 2<3)
(3)交换
c++
swap(p1,p2);//交换两个pair的内容(需同类型)