c++中的stl容器——map的介绍与常用用法
map翻译为映射。先讨论map的应用场景:
我们开一个数组,int a[100],随后赋值,a[10]=20,这本质上就是一种int到int的映射,即将10映射到20。而double、char类型的数组本质上都是int到double、char的映射。可是,数组有它的局限性,即它只能将int映射到其他种类,如果我想把一个字符串映射到整型,数组就无能为力了。为此,伟大的计算机先驱者们发明了map来解决这个问题!
map可以构建任何两个类型(包括容器)的映射。下面来介绍map的定义和常用用法:
map的定义:
map<char,int> mp;
<>内的两个类型不限,你甚至可以向里面放容器。
map的访问方法:
1.通过下标访问。
如:
map<char,int> mp;
mp['c']=3;
printf("%d",mp['c']);
输出结果为3。
这里需要注意,map中的键是唯一的。
2.通过迭代器访问。
map<char,int>::iterator it=mp.begin();
printf("%c %d\n",it->first,it->second);
其中,it->first用来访问键,it->second用来访问值。
好,知道了这些,我们再来介绍一些map常用的函数。
1.find(key),返回键为key的映射的迭代器。
2.erase(),可用来删除单个元素,其参数可为iterator或key;亦可以用来删除区间内所有元素,第一个参数为要删除的区间的起始迭代器,第二个参数为要删除的区间的末尾迭代器的下一个地址。
3.size(),返回map映射的对数。
4.clear(),清空map中所有元素。
c++中的stl容器——map的介绍与常用用法相关推荐
- STL中的模板类map的介绍
STL中的模板类map的介绍 佟强 2008.11.5 map的元素是由key和value两个分量组成的对偶(key,value).key是键,value是与键key相关联的映射值.元素的键key是唯 ...
- C++ STL容器 —— map/multimap 用法详解
C++ STL容器 -- map/multimap 用法详解 写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理.但别 ...
- 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map
@Author:Runsen STL 中的栈容器是一种容器适配器.在栈容器中,元素在一端插入并在同一端删除. stack 为了实现堆栈容器,我们需要在我们的程序中包含头文件<stack>. ...
- STL容器-Map and Pair(一)
map介绍: 1.map翻译为映射,是STL中的常用容器也是STL的一个关联容器,它提供一对一的数据处理能力.什么是一对一的数据处理能力呢,像我们查字典,我们可以从开头处找到这个单词对应的页数,从而通 ...
- 【小白学习C++ 教程】二十一、C++ 中的STL容器Arrays和vector
@Author:Runsen C++的标准模板库(STL)是提供数组.向量.队列等数据结构的模板类的集合.STL是由容器.算法.迭代器组成的库. 容器 容器存储对象和数据.它们基本上是基于模板的泛型类 ...
- C++ STL容器 map禁止自动排序
背景:key-value形式的数据,已经使用了map存储,后来要求读取时的顺序要和插入的顺序一致 方案一.再定义个数组,按顺序保存key (推荐) 方案二.map更换为unordered_ma ...
- c++ hashset的用法_c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...
- vector 作为dll 接口参数_DLL中传递STL参数,vector对象作为dll参数传递等问题(转)...
STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下面是详细解释. 原因分析:一句话-----如果 ...
- DLL中传递STL参数(如Vector或者list等)会遇到的问题[转载]
最近的一个项目中遇到了调用别人的sdk接口(dll库)而传给我的是一个vector指针,用完之后还要我来删除的情况.这个过程中首先就是在我的exe中将其vector指针转为相应指针再获取vector中 ...
- C++|STL学习笔记-对STL中关联容器map的进一步认识
关联容器map key + value 的值 关联容器 = 有序容器(红黑树) + 无序容器(散列表) + hash_map 有序容器中: map的键值是不允许重复的 multimap的键值是允许重复 ...
最新文章
- 2016.4.2 动态规划练习--讲课整理
- java signature 性能_Java常见bean mapper的性能及原理分析
- 如何帮助谷歌鉴别内容重复的网页
- 使用action framework 实现order change时自动发送邮件
- 乾坤大挪移,巧迁数据到proxmox平台
- PS(留学动机)的妙用——扭转你的劣势
- 运放组成的吉他放大电路_如何通过5个步骤构建开放式硬件吉他放大器
- 和平之翼代码生成器 SMEU 版 4.0.0 RC 宝船候选版发布
- 《信息安全工程》读书笔记
- 中国能源互联网行业十四五前景规划与发展战略格局分析报告2022-2028年版
- logistic回归分析优点_干货——检验人最常用的统计学分析方法梳理(二)
- 为手机游戏而生的Linux 发行版
- leaflet加载谷歌影像地图、天地图影像地图、天地图影像注记
- gitlab hook declined错误
- 国内云服务器提供商排名(仅供参考)
- 深度强化学习-策略梯度算法深入理解
- 生鲜电商纷纷传上市,但赛道并不性感
- 转: Github上关于iOS的各种开源项目集合
- 【知识兔】Excel教程:文本转数值的这些套路,你都会了吗?
- MATLAB矩阵生成