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的内容(需同类型)
相关推荐
崇山峻岭之间1 分钟前
Matlab学习记录09
开发语言·学习·matlab
ULTRA??4 分钟前
基于range的函数式编程C++,python比较
c++·python·kotlin·c++20
走在路上的菜鸟6 分钟前
Android学Dart学习笔记第二十五节 类修饰符
android·笔记·学习·flutter
polarislove021410 分钟前
8.2 时钟树编程-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
闻缺陷则喜何志丹21 分钟前
【计算几何 二分查找】P5485 [JLOI2010] 铁人双项比赛|普及+
c++·数学·二分查找·计算几何·洛谷
wanderful_22 分钟前
Javascript笔记分享-流程控制(超级超级详细!!!)
javascript·笔记·流程控制·实战案例·新手友好
ghgxm52024 分钟前
EXCEL使用VBA代码实现按条件查询数据库--简单实用
开发语言·数据仓库·笔记·excel·数据库开发
..空空的人25 分钟前
C++基于protobuf实现仿RabbitMQ消息队列---服务器模块认识1
服务器·开发语言·c++·分布式·rabbitmq·protobuf
张人玉26 分钟前
C# WPF 折线图制作笔记(LiveCharts 库)
笔记·c#·wpf·折线图·linechart
我想我不够好。27 分钟前
低压实操 12.22
学习