c++11 标准模板(STL)(std::multimap)(一)
定义于头文件 <map>
| template< class Key, | (1) | |
| namespace pmr { template <class Key, class T, class Compare = std::less<Key>> | (2) | (C++17 起) |
multimap 是关联容器,含有关键-值 pair 的已排序列表,同时容许多个入口拥有同一关键。按照应用到关键的比较函数 Compare 排序。搜索、插入和移除操作拥有对数复杂度。
拥有等价关键的关键-值 pair 的顺序就是插入顺序,且不会更改。(C++11 起)
凡在标准库使用比较 (Compare) 概念出,都用描述于比较 (Compare) 上的等价关系确定等价性。不精确地说,若二个对象 a 和 b 互不小于对方: !comp(a, b) && !comp(b, a) ,则认为它们等价。
std::multimap 满足容器 (Container) 、具分配器容器 (AllocatorAwareContainer) 、关联容器 (AssociativeContainer) 和可逆容器 (ReversibleContainer) 的要求。
成员类型
| 成员类型 | 定义 | ||||
key_type | Key | ||||
mapped_type | T | ||||
value_type | std::pair<const Key, T> | ||||
size_type | 无符号整数类型(通常是 std::size_t ) | ||||
difference_type | 有符号整数类型(通常是 std::ptrdiff_t ) | ||||
key_compare | Compare | ||||
allocator_type | Allocator | ||||
reference |
| ||||
const_reference |
| ||||
pointer |
| ||||
const_pointer |
| ||||
iterator | 遗留双向迭代器 (LegacyBidirectionalIterator) | ||||
const_iterator | 常双向迭代器 | ||||
reverse_iterator | std::reverse_iterator<iterator> | ||||
const_reverse_iterator | std::reverse_iterator<const_iterator> | ||||
node_type(C++17 起) | 表示容器结点的结点把柄特化 | ||||
成员类
| value_compare | 比较类型为value_type的对象(类) |
成员函数
| (构造函数) | 构造 multimap(公开成员函数) |
| (析构函数) | 析构 multimap(公开成员函数) |
| operator= | 赋值给容器 (公开成员函数) |
| get_allocator | 返回相关的分配器 (公开成员函数) |
| 迭代器 | |
| begin cbegin | 返回指向容器第一个元素的迭代器 (公开成员函数) |
| end cend | 返回指向容器尾端的迭代器 (公开成员函数) |
| rbegin crbegin | 返回指向容器最后元素的逆向迭代器 (公开成员函数) |
| rend crend | 返回指向前端的逆向迭代器 (公开成员函数) |
| 容量 | |
| empty | 检查容器是否为空 (公开成员函数) |
| size | 返回容纳的元素数 (公开成员函数) |
| max_size | 返回可容纳的最大元素数 (公开成员函数) |
| 修改器 | |
| clear | 清除内容 (公开成员函数) |
| insert | 插入元素或结点 (C++17 起) (公开成员函数) |
| emplace (C++11) | 原位构造元素 (公开成员函数) |
| emplace_hint (C++11) | 使用提示原位构造元素 (公开成员函数) |
| erase | 擦除元素 (公开成员函数) |
| swap | 交换内容 (公开成员函数) |
| extract (C++17) | 从另一容器释出结点 (公开成员函数) |
| merge (C++17) | 从另一容器接合结点 (公开成员函数) |
| 查找 | |
| count | 返回匹配特定键的元素数量 (公开成员函数) |
| find | 寻找带有特定键的元素 (公开成员函数) |
| contains (C++20) | 检查容器是否含有带特定关键的元素 (公开成员函数) |
| equal_range | 返回匹配特定键的元素范围 (公开成员函数) |
| lower_bound | 返回指向首个不小于给定键的元素的迭代器 (公开成员函数) |
| upper_bound | 返回指向首个大于给定键的元素的迭代器 (公开成员函数) |
| 观察器 | |
| key_comp | 返回用于比较键的函数 (公开成员函数) |
| value_comp | 返回用于在value_type类型的对象中比较键的函数。 (公开成员函数) |
非成员函数
| operator==operator!=operator<operator<=operator>operator>= | 按照字典顺序比较 multimap 中的值 (函数模板) |
| std::swap(std::multimap) | 特化 std::swap 算法 (函数模板) |
| erase_if(std::multimap) (C++20) | 擦除所有满足特定判别标准的元素 (函数模板) |
相关文章:
c++11 标准模板(STL)(std::multimap)(一)
定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…...
python进阶——自动驾驶寻找车道
大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...
男,26岁,做了一年多的自动化测试,最近在纠结要不要转行,求指点。?
最近一个粉丝在后台问我,啊大佬我现在26了,做了做了一年多的自动化测试,最近在纠结要不要转行,求指点。首选做IT这条路,就是很普通的技术蓝领。对于大部分来说干一辈子问题不大,但是发不了什么财。如果你在…...
源码级别的讲解JAVA 中的CAS
没有CAS之前实现线程安全 多线程环境不使用原子类保证线程安全(基本数据类型) public class T3 {volatile int number 0;//读取public int getNumber(){return number;}//写入加锁保证原子性public synchronized void setNumber(){number;} }多线程环…...
JUC锁与AQS技术【我的Android开发技术】
JUC锁与AQS技术【我的Android开发技术】 AQS原理 AQS就是一个同步器,要做的事情就相当于一个锁,所以就会有两个动作:一个是获取,一个是释放。获取释放的时候该有一个东西来记住他是被用还是没被用,这个东西就是一个状…...
【问题代码】顺序点的深入理解(汇编剖析+手画图解)
这好像是一个哲学问题。 目录 前言 一、顺序点是什么? 二、发生有关顺序点的问题代码 vs中: gcc中: 三、细读汇编 1.vs汇编如下(示例): 2.gcc汇编如下(示例): 四…...
BinaryAI全新代码匹配模型BAI-2.0上线,“大模型”时代的安全实践
导语BinaryAI(https://www.binaryai.net)科恩实验室在2021年8月首次发布二进制安全智能分析平台—BinaryAI,BinaryAI可精准高效识别二进制文件的第三方组件及其版本号,旨在推动SCA(Software Composition Analysis&…...
nvidia设置wifi和接口
tx-nx设置wifi和接口前言基础知识点1.创建和删除一个wifi连接2. 启动连接和关闭连接代码和调试1. 代码展示2. 调试写到最后前言 针对嵌入式开发,有时候通过QT或PAD跨网络对设备设置WIFI,在此记录下,方便后续的查阅。 基础知识点 1.创建和删…...
PostgreSQL 变化数据捕捉(CDC)
PostgreSQL 变化数据捕捉(CDC)基于CDC(变更数据捕捉)的增量数据集成总体步骤:1.捕获源数据库中的更改数据2.将变更的数据转换为您的消费者可以接受的格式3.将数据发布到消费者或目标数据库PostgreSQL支持触发器&#x…...
Spring 事务【隔离级别与传播机制】
Spring 事务【隔离级别与传播机制】🍎一.事务隔离级别🍒1.1 事务特性回顾🍒1.2 事务的隔离级别(5种)🍒1.3 事务隔离级别的设置🍎二.Spring 事务传播机制🍒2.1 Spring 事务传播机制的作用🍒2.2 事…...
HTTP和HTTPS协议
HTTP协议 HTTP协议是一种应用层的协议,全称为超文本传输协议。 URL URL值统一资源定位标志,也就是俗称的网址。 协议方案名 http://表示的就是协议方案名,常用的协议有HTTP协议、HTTPS协议、FTP协议等。HTTPS协议是以HTTP协议为基础&#…...
day3——有关java运算符的笔记
今天主要学习的内容有java的运算符 赋值运算符算数运算符关系运算符逻辑运算符位运算符(专门写一篇笔记)条件运算符运算符的优先级流程控制 赋值运算符 赋值运算符()主要用于给变量赋值,可以跟算数运算符相结合&…...
Git多人协同远程开发
1. 李四(项目负责人)操作步骤 在github中创建远程版本库testgit将基础代码上传⾄testgit远程库远程库中基于main分⽀创建dev分⽀将 githubleaflife/testgit 共享给组员李四继续在基础代码上添加⾃⼰负责的模块内容 2. 张三、王五(组员&…...
Chapter4:机器人仿真
ROS1{\rm ROS1}ROS1的基础及应用,基于古月的课,各位可以去看,基于hawkbot{\rm hawkbot}hawkbot机器人进行实际操作。 ROS{\rm ROS}ROS版本:ROS1{\rm ROS1}ROS1的Melodic{\rm Melodic}Melodic;实际机器人:Ha…...
python(14)--集合
前言 本篇文章学习的是 python 中集合的基础知识。 集合元素的内容是不可变的,常见的元素有整数、浮点数、字符串、元组等。至于可变内容列表、字典、集合等不可以是集合元素。虽然集合不可以是集合的元素,但是集合本身是可变的,可以去增加或…...
【Spark分布式内存计算框架——Spark Core】4. RDD函数(中)Transformation函数、Action函数
3.2 Transformation函数 在Spark中Transformation操作表示将一个RDD通过一系列操作变为另一个RDD的过程,这个操作可能是简单的加减操作,也可能是某个函数或某一系列函数。值得注意的是Transformation操作并不会触发真正的计算,只会建立RDD间…...
Mysql 数据类型
1、数值数据类型 1.1 整数类型(精确值) INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT MySQL支持SQL标准的整数类型INTEGER (或INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型TINYINT、MEDIUMINT和BIGINT。下表显示了每种整数类型所需的存储和范围。…...
运行Whisper笔记(1)
最近chatGPT很火,就去逛了一下openai的github项目。发现了这个项目。 这个项目可以识别视频中的音频,转换出字幕。 带着一颗好奇的心就尝试自己去部署玩一玩 跟着这篇文章一步步来进行安装,并且跟着这篇文章解决途中遇到的问题。 途中还会遇…...
2023年最强大的12款数据可视化工具,值得收藏
做数据分析也有年头了,好的坏的工具都用过,推荐几个觉得很好用的,避坑必看! PS:一般比较成熟的公司里,数据分析工具不只是满足业务分析和报表制作,像我现在给我们公司选型BI工具,是做…...
LeetCode刷题系列 -- 523. 连续的子数组和
给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存…...
AI驱动的链上数据分析:Arkham工具实战与智能监控体系构建
1. 项目概述:一个面向链上数据的智能分析中枢如果你和我一样,在加密货币和Web3的世界里摸爬滚打了几年,你一定会对一个问题深有感触:链上数据浩如烟海,但真正能转化为有效决策的洞察却少之又少。我们每天面对着成千上万…...
3个核心功能+5种使用场景:FanControl帮你打造Windows平台专属散热系统
3个核心功能5种使用场景:FanControl帮你打造Windows平台专属散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitH…...
正点原子 STM32MP257 同构多核架构下的 ADC 电压采集与处理应用开发实战
在嵌入式系统中,ADC模拟电压的读取是常见的需求。如何高效、并发、且可控地完成数据采集与处理?本篇文章通过双线程分别绑定在 Linux 系统的不同 CPU 核心上,采集 /sys/bus/iio 接口的 ADC 原始值与缩放系数 scale,并在另一个核上…...
如何绕过Cursor Pro试用限制:技术原理与实战指南
如何绕过Cursor Pro试用限制:技术原理与实战指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial re…...
高校vs中小学气象站:核心区别
绝大多数普通校园气象站仅适合中小学可视化科普展示,数据精度低、无原始数据导出、无开放接口、参数单一,完全无法满足高校教学科研需求。中小学设备:侧重外观展示、简单数据观看、趣味科普,精度普通、数据封闭、无科研溯源能力&a…...
思科路由器远程管理保姆级教程:从IP配置到Telnet/SSH登录全流程(避坑line vty和密码设置)
思科路由器远程管理全流程实战指南:从基础配置到安全登录 刚接触思科设备时,最让人头疼的莫过于那一连串看似晦涩的命令行操作。记得我第一次尝试配置路由器远程访问时,明明按照教程一步步操作,却始终无法通过Telnet连接ÿ…...
冥想第一千八百七十八天(1878)
1.周二,5.12日,天气晴朗,下午阴,项目上全力以赴的一天。今天是休息日,下班带溪溪去游泳。 2.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。...
MATLAB roots函数实战:5分钟搞定高阶系统稳定性判断(附完整代码)
MATLAB roots函数实战:高阶系统稳定性分析的黄金法则 在控制工程和自动化领域,系统稳定性分析是每个工程师的必修课。面对复杂的高阶系统特征方程,传统的手工计算方法不仅耗时耗力,还容易出错。而MATLAB的roots函数配合简单的可视…...
Sketch Find and Replace终极指南:设计师必备的批量文本替换神器
Sketch Find and Replace终极指南:设计师必备的批量文本替换神器 【免费下载链接】Sketch-Find-And-Replace Sketch plugin to do a find and replace on text within layers 项目地址: https://gitcode.com/gh_mirrors/sk/Sketch-Find-And-Replace 还在为Sk…...
从零手搓CLAHE算法:用Python实现图像去雾,并与OpenCV的cv2.createCLAHE()掰掰手腕
从零实现CLAHE算法:Python实战图像去雾与OpenCV性能对决 当一张雾霾笼罩的风景照出现在眼前时,我们往往会感到遗憾——那些本应清晰的细节被一层灰蒙蒙的雾气所掩盖。传统直方图均衡化虽然能提升对比度,但往往会过度放大噪声,让图…...
