C++pair学习笔记

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的内容(需同类型)
相关推荐
~patience~4 小时前
WAV 逆向分析工具使用笔记
笔记
滴啦嘟啦哒4 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身
weixin_307779134 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
xier_ran4 小时前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
连山齐名4 小时前
ai应用开发的学习笔记
服务器·笔记·学习
AI wins4 小时前
c++新增頭文件
c++
Shadow(⊙o⊙)4 小时前
仿muduo实现高并发服务器——事件就绪管理Channel.hpp
服务器·c++
乔旭伟4 小时前
中小厂生产管理系统选型笔记:驱动方式、主线链路与成本结构
笔记·需求分析·规格说明书
by209994 小时前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
xier_ran4 小时前
【infra之路】AI 编译器学习笔记(十四):为什么要 tiling,以及矩阵计算单元的“固定“
人工智能·笔记·学习