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 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
phltxy5 小时前
C语言操作符详解
java·c语言·算法
RuoZoe6 小时前
从 2026 年 3 月 1 日开源,到 26.10.9:Jalium UI 半年时间到底走了多远?
c语言·c++
aqiu1111116 小时前
【LeetCode 902】最大为 N 的数字组合 - 详细题解与数位组合思路
数据结构·算法·leetcode·蓝桥杯·数位dp
辰烨chenye7 小时前
LeetCode Hot 100 题解 · 哈希篇
算法·leetcode·哈希算法
事圆则缓7 小时前
Kotlin 协程完全指南
开发语言·kotlin
罗西的思考7 小时前
DreamZero 与 DreamDojo:世界模型与策略的分层协同综合分析与对比
人工智能·算法·机器学习
鱼子星_7 小时前
【C++】继承和多态(上)
c++·笔记
我爱写代码i7 小时前
BeLink - 支持生成多种URL 缩短网址PHP源码
开发语言·php·短网址php源码