C++pair学习笔记
1. 定义
pair 是需要头文件 <utility>,可以用于存储两个不同(或相同)类型的数据,标志为 键值对 和 二元组。
2. 基本用法
定义:
pair<T1,T2> name;
T1、T2 为两个类型,name 为 pair 的名称。
初始化:
// 方式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访问:
cout<<p2.first; // 输出第一个元素(int型:1)
cout<<p2.second; // 输出第二个元素(string型:"hello")
4. 常用操作
(1)赋值
p1=p2;//整体赋值
p1=make_pair(5,"ok");//通过make_pair赋值,按顺序传参
(2)比较运算
支持 ==、!=、<、<=、>、>=,比较规则:
-
先比较
first,若不等则结果由first决定; -
若
first相等,再比较second。
pair<int,int> a(1,2),b(1,3);a<b;//true(first相等,second 2<3)
(3)交换
swap(p1,p2);//交换两个pair的内容(需同类型)
