博客
关于我
Map(关联式容器)
阅读量:800 次
发布时间:2023-02-07

本文共 1840 字,大约阅读时间需要 6 分钟。

C++ Map容器的常用功能解析

Map是一种关联式容器,能够自动建立Key-Value对应关系,其中Key和Value可以是任意类型。以下将详细介绍Map中的常用功能。

一、Map的开始与结束操作

Map的begin()和end()方法用于遍历Map中的元素。begin()返回第一个元素的Key,end()返回最后一个元素的后继位置。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;m.begin() -> first; // 输出第一个元素的键值m.begin() -> second; // 输出第一个元素的值m.end() -> first; // 输出最后一个元素的下一个键值m.end() -> second; // 输出最后一个元素的下一个值

二、逆向遍历操作

Map支持逆向遍历操作,使用rbegin()和rend()方法。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;map
::reverse_iterator iter = m.rbegin();iter -> first; // 输出最后一个元素的键值iter -> second; // 输出最后一个元素的值iter = m.rend();iter -> first; // 输出第一个元素前面的键值

三、Map为空判断

empty()方法用于判断Map是否为空。

map
m;bool isEmpty = m.empty(); // 返回true表示Map为空

四、Map的大小

size()方法返回Map中元素的数量。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;int size = m.size(); // 返回Map中元素个数

五、Map的at方法

at方法用于通过Key获取对应的Value,不会报错,即使Key不存在。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;int value = m.at('a'); // 获取键'a'对应的值

六、Map的find方法

find方法用于查找特定Key的位置,返回对应的iterator。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;auto iter = m.find('b'); // 查找键'b'iter -> second; // 输出键'b'对应的值

七、Map的插入操作

insert方法用于插入元素,可选位置包括begin、end、用户指定位置。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;m.insert(m.begin(), pair
('a', 50)); // 在前面插入新元素map
m1 = m;m1.insert(m.begin(), m.end()); // 将m中的所有元素复制给m1auto it = m.find('c');m1.insert(m.begin(), it); // 从begin到find('c')复制元素

八、Map的删除操作

erase方法用于删除特定Key的元素,可选删除多个元素。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;m.erase('a'); // 删除键'a'对应的元素auto it = m.find('a');m.erase(it); // 删除键'a'对应的元素m.erase(it, ++m.find('b')); // 删除键'a'和'b'对应的元素

九、Map的count方法

count方法用于统计特定Key出现的次数。

map
m;m['a'] = 100;m['b'] = 200;m['c'] = 300;int count = m.count('b'); // 统计键'b'出现的次数

以上是Map容器的常用功能解析,希望对C++开发者有所帮助。

转载地址:http://dwyfk.baihongyu.com/

你可能感兴趣的文章
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(2/20):清除所有图层的有效方法
查看>>
Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
查看>>
Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
查看>>
Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
查看>>
Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
查看>>
Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
查看>>
Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
查看>>
Openlayers:DMS-DD坐标形式互相转换
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenLDAP(2.4.3x)服务器搭建及配置说明
查看>>
OpenLDAP编译安装及配置
查看>>
Openmax IL (二)Android多媒体编解码Component
查看>>