pair<类型1, 类型2> 变量名的介绍,自用笔记

一、pair介绍:

pair 是 C++ STL 里的模板类 ,作用就是:把两个不同 / 相同类型的值打包成一个整体 ,相当于一个简易的二元结构体

  • 功能:存储一对值(两个值)
  • 两个成员:
    • first:第一个值
    • second:第二个值

pair<类型1, 类型2> 变量名;类型1和类型2的数据类型可以不一样,如下:

复制代码
pair<int, string> p;  // 一个 int + 一个 string
pair<int, int> p;    // 两个 int

二、创建 pair 的 4 种方法

1. 空构造

复制代码
pair<int, string> p;

2. 直接赋值

复制代码
pair<int, string> p(100, "小明");

3. 用 make_pair 函数(最常用)

复制代码
auto p = make_pair(200, "小红");

4. C++11 花括号

复制代码
pair<int, string> p = {300, "小刚"};

三、访问元素

.first.second 直接访问:

复制代码
pair<int, string> p(100, "小明");

cout << p.first;   // 输出 100
cout << p.second;  // 输出 小明

四、用法:排序是优先根据.first的大小来排序,如果.first的大小一样,才会去比较.second的大小

可执行代码:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
vector<pair<int,int> > a;
int main(){
a.push_back(make_pair(3,2));
a.push_back(make_pair(1,4));
a.push_back(make_pair(2,9));
cout<<"排序前:"<<endl; 
for(int i=0;i<3;i++){
	cout<<a[i].first<<" "<<a[i].second<<endl;
}
cout<<endl<<"排序后:"<<endl;
sort(a.begin(),a.end());
for(int i=0;i<3;i++){
	cout<<a[i].first<<" "<<a[i].second<<endl;
}
}

运行结果:

相关推荐
王老师青少年编程5 小时前
2026年6月GESP真题及题解(C++一级):交税
c++·题解·真题·gesp·一级·2026年6月·交税
Jerry5 小时前
LeetCode 160. 相交链表
算法
认真的酒窝5 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
Jerry6 小时前
LeetCode 19. 删除链表的倒数第 N 个结点
算法
金銀銅鐵6 小时前
费马小定理
python·数学·算法
wbs_scy7 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9177 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
技术不好的崎鸣同学7 小时前
[ACTF2020 新生赛]Exec 思路及解法
算法·安全·web安全
贪玩的蛋挞7 小时前
C#与闭包
开发语言·c#
端庄的战斗机8 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式