
Map(关联式容器)
发布日期:2025-04-12 01:27:18
浏览次数:8
分类:精选文章
本文共 1840 字,大约阅读时间需要 6 分钟。
C++ Map容器的常用功能解析
Map是一种关联式容器,能够自动建立Key-Value对应关系,其中Key和Value可以是任意类型。以下将详细介绍Map中的常用功能。
一、Map的开始与结束操作
Map的begin()和end()方法用于遍历Map中的元素。begin()返回第一个元素的Key,end()返回最后一个元素的后继位置。
mapm;m['a'] = 100;m['b'] = 200;m['c'] = 300;m.begin() -> first; // 输出第一个元素的键值m.begin() -> second; // 输出第一个元素的值m.end() -> first; // 输出最后一个元素的下一个键值m.end() -> second; // 输出最后一个元素的下一个值
二、逆向遍历操作
Map支持逆向遍历操作,使用rbegin()和rend()方法。
mapm;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是否为空。
mapm;bool isEmpty = m.empty(); // 返回true表示Map为空
四、Map的大小
size()方法返回Map中元素的数量。
mapm;m['a'] = 100;m['b'] = 200;m['c'] = 300;int size = m.size(); // 返回Map中元素个数
五、Map的at方法
at方法用于通过Key获取对应的Value,不会报错,即使Key不存在。
mapm;m['a'] = 100;m['b'] = 200;m['c'] = 300;int value = m.at('a'); // 获取键'a'对应的值
六、Map的find方法
find方法用于查找特定Key的位置,返回对应的iterator。
mapm;m['a'] = 100;m['b'] = 200;m['c'] = 300;auto iter = m.find('b'); // 查找键'b'iter -> second; // 输出键'b'对应的值
七、Map的插入操作
insert方法用于插入元素,可选位置包括begin、end、用户指定位置。
mapm;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的元素,可选删除多个元素。
mapm;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出现的次数。
mapm;m['a'] = 100;m['b'] = 200;m['c'] = 300;int count = m.count('b'); // 统计键'b'出现的次数
以上是Map容器的常用功能解析,希望对C++开发者有所帮助。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月20日 04时27分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
matlab series,Puiseux series
2025-04-12
matlab 写入txt_MATLAB教学五
2025-04-12
Matlab 图像处理相关函数命令大全
2025-04-12
MATLAB 在大规模数据分析和处理中的性能优化策略有哪些?
2025-04-12
matlab 地图上标经纬度_如何使用数学软件做物流网络规划—以Matlab为例
2025-04-12
MATLAB 如何导入.txt文本
2025-04-12
matlab 数字水印技术,数字水印技术DCT算法MATLAB源代码.doc
2025-04-12
MATLAB 文件打包为独立可执行程序.exe
2025-04-12
matlab 机器学习相关函数、api
2025-04-12
matlab 线型_Matlab自动导出论文插图 「实用技巧」
2025-04-12
matlab 调用c++编译好的文件出现问题
2025-04-12
matlab 量化与过采样,[转载]降采样,过采样,欠采样,子采样,下采样
2025-04-12
matlab 鲁棒优化,yalmip求解鲁棒优化
2025-04-12
MATLAB-Scatter3-三维散点图投影至XYZ三个平面
2025-04-12
matlab-线性代数 矩阵的拆分
2025-04-12
matlab-自控原理 tf 传递函数 MATLAB表达
2025-04-12
MATLAB/ArcGIS读取nc数据并进行可视化
2025-04-12
Matlab2015入门学习02
2025-04-12
Matlab2023a/b安装Cplex12.9(实测适配)
2025-04-12