unordered_map的删除
时间: 2023-11-01 16:56:10 浏览: 104
unordered_map_
unordered_map 的删除操作可以使用 erase() 函数来实现。erase() 函数接受一个参数,可以是要删除的键(key)或者要删除的迭代器(iterator)。以下是使用 erase() 函数删除 unordered_map 中的元素的示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap = {
{1, "One"},
{2, "Two"},
{3, "Three"}
};
// 删除键为 2 的元素
myMap.erase(2);
// 删除迭代器指向的元素
auto it = myMap.find(3);
if (it != myMap.end()) {
myMap.erase(it);
}
// 打印剩余的元素
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
运行以上代码,输出如下:
```
1: One
```
在示例中,我们首先创建了一个 unordered_map 对象 myMap,并初始化了三个键值对。然后,我们使用 erase() 函数分别删除了键为 2 的元素和迭代器指向的元素。最后,我们通过遍历 unordered_map 打印剩余的元素。
阅读全文