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的内容(需同类型)
相关推荐
_F_y6 小时前
MySQL用C/C++连接
c语言·c++·mysql
兩尛7 小时前
c++知识点2
开发语言·c++
xiaoye-duck7 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
微露清风7 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
Azure_withyou8 小时前
Visual Studio中try catch()还未执行,throw后便报错
c++·visual studio
琉染云月8 小时前
【C++入门练习软件推荐】Visual Studio下载与安装(以Visual Studio2026为例)
c++·visual studio
不会代码的小猴8 小时前
Linux环境编程第六天笔记--system-V IPC
linux·笔记
阳光九叶草LXGZXJ8 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
乌恩大侠8 小时前
【笔记】USRP 5G 和 6G 参考架构
笔记·5g
biuyyyxxx8 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化