C++pair学习笔记

1. 定义

pair 是需要头文件 <utility>,可以用于存储两个不同(或相同)类型的数据 ,标志为 键值对二元组

2. 基本用法

定义:

cpp 复制代码
pair<T1,T2> name;

T1T2 为两个类型,namepair 的名称。

初始化:

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. 成员访问

  • 两个成员变量为公有 ,直接通过 firstsecond 访问:
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的内容(需同类型)
相关推荐
一只小菜鸡..7 分钟前
南京大学 操作系统 (JYY) 学习笔记:导论与历史的轮回 (OS Introduction)
笔记·学习
小弥儿19 分钟前
GitHub 今日热榜 | 2026-07-24:金融 K 线基础模型上榜
学习·金融·开源·github
txzrxz23 分钟前
数论:排列数、组合数、费马小定理、逆元、同余定理
c++·算法·数论·组合数·费马小定理·逆元·排列数
xqqxqxxq25 分钟前
LeetCode Hot100 双指针专项题解笔记
笔记·算法·leetcode
520拼好饭被践踏26 分钟前
JAVA+Agent学习day22
java·开发语言·后端·学习
懿路向前33 分钟前
【HarmonyOS学习笔记】2026-07-24 | textProcessing 实体识别与踩坑实录
笔记·学习·边缘计算·harmonyos
菩提树下的打坐35 分钟前
性能测试进阶:从 JMeter 基线到 SLO 驱动的压测体系
学习·jmeter
Albart5751 小时前
2026年Python入门路线图:从零到实战的30天逐日详解(三)
学习·flask·#python30 天入门·python 实战教程·pytest 单元测试·python 虚拟环境·logging 日志
春生野草1 小时前
C基础--八大排序(个人笔记)
c语言·笔记·排序算法
库克克2 小时前
【C++】STL 库
c++