`unordered_map`是C++ STL中的一个关联容器,用于存储键值对。它提供了快速的查找、插入和删除操作,其底层实现使用哈希表来实现。
以下是`unordered_map`的一些常见用法:
1. **声明和初始化**:
```cpp
#include <unordered_map>
std::unordered_map<std::string, int> myMap = {{"apple", 5}, {"banana", 3}, {"cherry", 8}};
```
2. **插入键值对**:
```cpp
myMap["orange"] = 6;
```
3. **访问键对应的值**:
```cpp
int value = myMap["apple"];
```
4. **检查是否包含某个键**:
```cpp
if (myMap.find("banana") != myMap.end()) {
// 键存在
}
```
5. **遍历整个`unordered_map`**:
```cpp
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
```
6. **删除键值对**:
```cpp
myMap.erase("cherry");
```
7. **获取`unordered_map`的大小**:
```cpp
int size = myMap.size();
```
8. **清空`unordered_map`**:
```cpp
myMap.clear();
```
`unordered_map`提供了快速的查找操作,适合在需要快速查找键值对的场景下使用。