当前位置: 首页 > news >正文

stl(1)pair

C++pair

1.pair的定义和结构

在c++中,pair为一个模板类,用于表示一对值的组合,即为将两个数据组合成一组数据

其标准库类型--pair类型定义在#include <utility>头文件中

pair类模板有两个模板参数,T1和T2,用以表示值的类型

pair类模板有两个成员变量,first和second,分别表示第一个值和第二个值

pair的成员函数和特性,如默认构造函数,带参数的构造函数。比较运算符重载…

2.pair的创建和初始化

pair包含两个数值,与容器一样,pair也是一种模板类型。但是又与之前介绍的容器不同;

在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同

pair<string, string>a       

// 创建一个空对象anon,两个元素类型都是string

pair<string, int>b  

// 创建一个空对象b两个元素类型分别是string和int类型

pair<string, vector<int>>c 

// 创建一个空对象c,两个元素类型分别是string和vector类型

也可以在创建时直接进行初始化

pair<int,int>a(1,1)

3.pair的嵌套

pair可以进行嵌套,也就是说可以将一个pair对象作为另一个pair对象的成员

通过嵌套pair,可以方便地组合多个值,并形成更复杂的数据结构

4.pair自带排序

pair自带的排序规则是按照first成员进行升序排序

如果first成员相等,则按照second成员进行升序排序

这意味着当使用标准库中的排序算法(如std::sort)对包含pair对象的容器进行排序时,会根据pair对象的first成员进行排序


http://www.mrgr.cn/news/57089.html

相关文章:

  • git区分大小写吗?如果不区分,那要如何设置?
  • JavaWeb合集07-MyBatis
  • 广东泰迪智能科技股份有限公司“产教评”技能生态链自主评价结果公示
  • java--多态(详解)
  • MySQL~数据类型
  • nginx子目录部署访问并且刷新不报404
  • JVM、字节码文件介绍
  • 四、多线程带来的的⻛险-线程安全
  • webpack4 - 动态导入文件 dynamic-import 报错的解决方法
  • 安装Python及pip使用方法详解
  • 重生之“我打数据结构,真的假的?”--1.单链表(无习题)
  • React写关键字高亮的三个方案
  • 第二期:第15节,beep 大海
  • latex表格单独编译成pdf表格
  • 华为配置 之 划分VLAN
  • 哪些WordPress的AI插件,更适合收集整理地球前100大行业的信息和关键词?谢谢。0.1
  • SAP B1 缺少税务科目 - 报错 debug
  • 秃姐学AI系列之:FCN + 代码实现
  • java和嵌入式现在哪个好?
  • js 防抖函数避免重复点击提交
  • 全域商户抽佣系统:智能分账新时代
  • 读hunter_bipedal_control-main
  • 力扣209-长度最小的子数组-滑动窗口思想
  • Chromium 沙盒Sandbox源码介绍(3)
  • ppt组合为一个整体怎么做?2个ppt常用操作和技巧分享!
  • QT-子项目管理