C++ unordered_map删除
时间: 2023-10-12 22:07:47 浏览: 57
要删除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的常用函数:
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中的所有元素。
C++ unordered_map头文件
C++标准库中的unordered_map是一个关联容器,它提供了一种将键映射到值的方法。与map不同,unordered_map使用哈希表来实现,因此它的查找和插入操作的平均时间复杂度为O(1)。要使用unordered_map,需要包含头文件<unordered_map>。可以使用以下语法定义一个unordered_map对象:
```
std::unordered_map<key_type, value_type> unordered_map_name;
```
其中,key_type是键的数据类型,value_type是值的数据类型,unordered_map_name是unordered_map对象的名称。可以使用以下语法向unordered_map中插入元素:
```
unordered_map_name[key] = value;
```
其中,key是要插入的键,value是要插入的值。可以使用以下语法访问unordered_map中的元素:
```
unordered_map_name[key]
```
其中,key是要访问的元素的键。如果该键存在,则返回对应的值;否则,将插入一个新元素,并返回一个默认值。可以使用以下语法从unordered_map中删除元素:
```
unordered_map_name.erase(key);
```
其中,key是要删除的元素的键。如果该键存在,则删除对应的元素;否则,不执行任何操作。需要注意的是,unordered_map中的元素是无序的,因此不能使用下标运算符[]来访问元素的顺序。