c++map的erase操作
时间: 2024-04-01 09:29:49 浏览: 128
C++中 map的基本操作
C++中的`std::map`是一种关联容器,它提供了一种键值对的映射关系。`erase`操作用于从`map`中删除指定的元素。`erase`函数有多种用法,下面是几种常见的用法:
1. 删除指定键的元素:
```cpp
std::map<Key, Value> myMap;
// 添加元素
myMap.insert(std::make_pair(key1, value1));
myMap.insert(std::make_pair(key2, value2));
// 删除指定键的元素
myMap.erase(key1);
```
2. 删除指定迭代器指向的元素:
```cpp
std::map<Key, Value> myMap;
// 添加元素
myMap.insert(std::make_pair(key1, value1));
myMap.insert(std::make_pair(key2, value2));
// 获取迭代器
auto it = myMap.find(key1);
// 删除指定迭代器指向的元素
myMap.erase(it);
```
3. 删除指定范围内的元素:
```cpp
std::map<Key, Value> myMap;
// 添加元素
myMap.insert(std::make_pair(key1, value1));
myMap.insert(std::make_pair(key2, value2));
myMap.insert(std::make_pair(key3, value3));
// 删除指定范围内的元素
auto start = myMap.find(key1);
auto end = myMap.find(key3);
myMap.erase(start, end);
```
需要注意的是,`erase`操作会返回一个指向被删除元素之后元素的迭代器,如果删除的是最后一个元素,则返回`end()`迭代器。
阅读全文