c unordered_map删除元素
时间: 2023-08-16 16:17:22 浏览: 62
在unordered_map中删除元素可以使用erase()函数。例如,如果你想删除键为key的元素,你可以使用m.erase(key)。这将从unordered_map中删除具有指定键的元素。请注意,如果unordered_map中不存在该键,则erase()函数不会执行任何操作。\[1\]
#### 引用[.reference_title]
- *1* *2* *3* [C++刷题中常用的STL操作汇总](https://blog.csdn.net/dhshshdh/article/details/129560864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
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 打印剩余的元素。
c加加unordered_map用法
unordered_map是C++11中新增的一种关联容器,底层实现是哈希表,可以用于存储键值对。使用unordered_map需要包含头文件<unordered_map>。
下面是unordered_map的基本用法:
1. 创建unordered_map对象
```c++
std::unordered_map<std::string, int> map; //创建一个空的unordered_map对象
```
2. 插入元素
```c++
map.insert({"apple", 2}); //使用insert()函数插入元素
map["banana"] = 3; //使用下标运算符插入元素
```
3. 删除元素
```c++
map.erase("apple"); //使用erase()函数删除元素
```
4. 查找元素
```c++
auto it = map.find("banana"); //使用find()函数查找元素
if (it != map.end()) {
std::cout << "The value of banana is " << it->second << std::endl;
}
```
5. 遍历unordered_map
```c++
for (auto it = map.begin(); it != map.end(); ++it) {
std::cout << it->first << ": " << it->second << std::endl;
}
```
6. 访问元素
```c++
int value = map["banana"]; //使用下标运算符访问元素
```
需要注意的是,unordered_map中的元素是无序的,并且不允许键重复。如果需要保持键的顺序,可以使用std::map。