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 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
沐晓时光6 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
武子康12 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
David猪大卫12 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger12 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
fengci.14 小时前
CTF2MISC中等部分
开发语言·前端·学习
xys_67815 小时前
JavaEE通关手册:初识Java
java·开发语言
努力努力再努力wz15 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
慧都产品智能化16 小时前
Qt 表格升级攻略:复用已有编辑器,减少重复开发
c++·qt·编辑器·qt6.3