c++unordered_map怎么用
时间: 2024-12-29 13:28:08 浏览: 49
在C++中,`std::unordered_map`是一种关联容器,它实现了键值对的无序存储,通过哈希表(Hash Table)实现高效的查找、插入和删除操作。以下是使用`unordered_map`的基本步骤:
1. 包含头文件:首先需要包含`<unordered_map>`头文件。
```cpp
#include <unordered_map>
```
2. 创建实例:声明并初始化`unordered_map`,指定键的类型(key_type)、值的类型(mapped_type),以及默认使用的哈希函数和比较器。
```cpp
std::unordered_map<KeyType, MappedType> myMap;
// 或者提供初始值列表
std::unordered_map<KeyType, MappedType> myMap{{"Key1", "Value1"}, {"Key2", "Value2"}};
```
3. 插入元素:可以使用`insert()`或`[]`运算符添加新的键值对。
```cpp
myMap.insert({"Key3", "Value3"});
myMap["Key4"] = "Value4";
```
4. 访问元素:通过键获取对应的值,如果键不存在则返回默认值(对于`find()`函数)或抛出异常(对于`at()`函数)。
```cpp
MappedType value1 = myMap["Key1"];
if (auto it = myMap.find("Key5"); it != myMap.end()) {
MappedType value5 = it->second;
}
```
5. 删除元素:可以使用`erase()`方法删除特定键的元素。
```cpp
myMap.erase("Key1");
```
6. 遍历元素:可以使用迭代器遍历整个映射。
```cpp
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
```
阅读全文
相关推荐


















