C++ unordered_map删除
时间: 2023-10-12 21:07:47 浏览: 287
要删除C++中的unordered_map中的元素,你可以使用erase()函数。erase()函数接受一个迭代器作为参数,并删除该迭代器指向的键值对。
下面是一个示例代码,演示如何删除unordered_map中的元素:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> my_map = {{1, "one"}, {2, "two"}, {3, "three"}};
// 删除键为2的元素
my_map.erase(2);
// 遍历unordered_map并打印剩余的键值对
for (const auto& pair : my_map) {
std::cout << pair.first
相关问题
C++ unordered_map介绍
C++中的unordered_map是一种关联容器,它提供了一种将键映射到值的方式。它是基于哈希表实现的,因此可以在常数时间内进行插入、删除和查找操作。unordered_map中的键和值可以是任意类型,只要满足一些要求,例如具有可哈希性和相等性比较。
下面是一个使用unordered_map的示例:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> myMap;
// 插入键值对
myMap["apple"] = 5;
myMap["banana"] = 2;
myMap["orange"] = 8;
// 访问值
std::cout << "The value of apple is: " << myMap["apple"] << std::endl;
// 查找键
if (myMap.find("banana") != myMap.end()) {
std::cout << "The value of banana is: " << myMap["banana"] << std::endl;
}
// 删除键值对
myMap.erase("orange");
// 遍历unordered_map
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}
```
输出结果:
```
The value of apple is: 5
The value of banana is: 2
Key: apple, Value: 5
Key: banana, Value: 2
```
C++ unordered_map 函数
C++中的unordered_map是一种关联容器,它提供了一种键值对的映射关系。unordered_map使用哈希表来实现,因此可以在常数时间内进行插入、删除和查找操作。下面是一些unordered_map的常用函数:
1. insert(key, value):向unordered_map中插入一个键值对。
2. erase(key):从unordered_map中删除指定键的元素。
3. find(key):查找指定键的元素,并返回一个指向该元素的迭代器。
4. count(key):返回指定键在unordered_map中出现的次数,由于unordered_map中每个键只能出现一次,因此返回值要么是0,要么是1。
5. size():返回unordered_map中键值对的数量。
6. empty():判断unordered_map是否为空。
7. clear():清空unordered_map中的所有元素。
此外,unordered_map还支持迭代器的使用,可以通过迭代器遍历unordered_map中的所有元素。
阅读全文