c++map的使用
作者:野牛程序员:2023-06-28 15:42:49 C++阅读 2692
C++ 中的 std::map
是一个关联容器,它提供了一种将键与值相关联的方式。std::map
内部使用红黑树实现,因此它是一个有序的容器,根据键的比较进行排序。
下面是一些关于 std::map
的常见用法:
1. 包含必要的头文件:
#include <map>
2. 声明和初始化 std::map
:
std::map<KeyType, ValueType> myMap;
其中,KeyType
是键的类型,ValueType
是值的类型。
你也可以在声明时使用初始化列表进行初始化:
std::map<int, std::string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}};
3. 插入元素:使用 insert()
函数可以向 std::map
中插入键值对。
myMap.insert(std::make_pair(key, value));
或者可以使用下标操作符:
myMap[key] = value;
4. 访问元素:使用下标操作符可以访问特定键对应的值:
ValueType value = myMap[key];
5. 查找元素:可以使用 find()
函数查找特定键对应的迭代器,如果键不存在,则返回 std::map
的 end()
迭代器。
std::map<KeyType, ValueType>::iterator iter = myMap.find(key); if (iter != myMap.end()) { // 键存在 // 可以通过 iter->first 访问键 // 可以通过 iter->second 访问值 }
6. 遍历 std::map
:可以使用迭代器来遍历 std::map
中的所有元素:
for (auto iter = myMap.begin(); iter != myMap.end(); ++iter) { // 可以通过 iter->first 访问键 // 可以通过 iter->second 访问值 }
或者可以使用范围循环(C++11 及以上版本):
for (const auto& pair : myMap) { // 可以通过 pair.first 访问键 // 可以通过 pair.second 访问值 }
7. 删除元素:可以使用 erase()
函数删除特定键对应的元素。
myMap.erase(key);
或者可以使用迭代器删除元素:
myMap.erase(iter);
这些是 std::map
的基本用法,还有其他更高级的功能和成员函数可以用于操作和管理 std::map
。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:C++中的map用法详解
- 下一篇:cpu后面带p好还是h好