std::unordered_map删除
时间: 2024-03-18 09:37:43 浏览: 59
HashmapBenchmark:子弹哈希映射(btHashMap)和C++标准库哈希映射(std)之间的基准测试
std::unordered_map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。要删除std::unordered_map中的元素,可以使用erase()函数。
erase()函数有多种用法,可以根据键或者迭代器来删除元素。如果知道要删除的键,可以直接使用键作为参数调用erase()函数。例如,要删除键为key的元素,可以使用以下代码:
```cpp
std::unordered_map<KeyType, ValueType> myMap;
// ...
myMap.erase(key);
```
如果要删除多个元素,可以使用迭代器进行循环删除。例如,要删除所有满足某个条件的元素,可以使用以下代码:
```cpp
std::unordered_map<KeyType, ValueType> myMap;
// ...
for (auto it = myMap.begin(); it != myMap.end(); ) {
if (someCondition) {
it = myMap.erase(it);
} else {
++it;
}
}
```
在上述代码中,erase()函数返回一个指向下一个元素的迭代器,因此需要将it赋值为erase()的返回值。
阅读全文