unordered_map删除成员
时间: 2024-02-05 21:09:25 浏览: 37
unordered_map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。要删除unordered_map中的成员,可以使用erase()函数来实现。
erase()函数有多种用法,可以根据需要选择适合的方式进行删除。以下是几种常见的删除方式:
1. 删除指定键的成员:
```cpp
unordered_map<int, string> myMap;
myMap[1] = "apple";
myMap[2] = "banana";
myMap[3] = "orange";
myMap.erase(2); // 删除键为2的成员
```
2. 删除指定范围内的成员:
```cpp
unordered_map<int, string> myMap;
myMap[1] = "apple";
myMap[2] = "banana";
myMap[3] = "orange";
auto it = myMap.find(2);
myMap.erase(it, myMap.end()); // 删除从it指向的成员到末尾的所有成员
```
3. 删除满足条件的成员:
```cpp
unordered_map<int, string> myMap;
myMap[1] = "apple";
myMap[2] = "banana";
myMap[3] = "orange";
for (auto it = myMap.begin(); it != myMap.end(); ) {
if (it->second == "banana") {
it = myMap.erase(it); // 删除值为"banana"的成员
} else {
++it;
}
}
```
需要注意的是,使用erase()函数删除成员后,unordered_map的大小会相应减小。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)