map是C++中基于红黑树的关联容器,自动按键排序,支持O(log n)的查找、插入和删除。常用操作包括下标访问、insert、erase和find;遍历方式有范围for循环、迭代器和C++17结构化绑定;注意键不可重复、下标可能插入默认值,自定义类型需提供比较逻辑。

在C++中,map 是一个非常实用的关联容器,用于存储键值对(key-value pairs),并且会根据键自动排序。它定义在 <map> 头文件中,底层通常由红黑树实现,查找、插入和删除的时间复杂度为 O(log n)。下面介绍 map 的基本用法和几种常见的遍历方式。
map 的模板参数包括键类型和值类型:
std::map<KeyType, ValueType> myMap;
例如,创建一个以字符串为键、整数为值的 map:
立即学习“C++免费学习笔记(深入)”;
std::map<std::string, int> scores;
常用操作:
可以用下标操作符直接访问值:
int value = scores["Alice"];
如果键不存在,会自动插入并用默认值初始化(如 int 为 0)。若不想插入新元素,应使用 find() 或 count():
map 中的元素按键升序排列,遍历时也按此顺序输出。以下是几种常用的遍历方式:
① 使用范围 for 循环(C++11 起推荐)
最简洁的方式:
for (const auto& pair : scores) { std::cout << pair.first << ": " << pair.second << std::endl; }② 使用迭代器遍历
传统方式,兼容性好:
for (auto it = scores.begin(); it != scores.end(); ++it) { std::cout << it->first << ": " << it->second << std::endl; }③ 使用 auto 和结构化绑定(C++17 起)
更清晰地解构键值对:
for (const auto& [key, value] : scores) { std::cout << key << ": " << value << std::endl; }基本上就这些。熟练掌握 map 的插入、查找和遍历,能极大提升 C++ 编程效率。不复杂但容易忽略细节,比如自动排序和下标插入行为,使用时多加注意即可。
以上就是c++++ map的基本用法和遍历方法_c++ map容器使用指南的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号