全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

C++ map(STL map)删除元素

发布时间:2023-05-17 13:38:00
发布人:syq

  在 C++ 中,`std::map` 是一个排序的关联容器,存储键值对元素,其中键是唯一的。键值对是根据键排序的。

C++ map(STL map)删除元素

  `std::map` 提供了几种删除元素的方法:

  1. `erase(const key_type& k)`: 删除键为 `k` 的元素。

  2. `erase(const_iterator pos)`: 删除迭代器 `pos` 指向的元素。

  3. `erase(const_iterator first, const_iterator last)`: 删除迭代器 `first` 和 `last` 范围内的元素。

千锋教育

  4. `clear()`: 清除所有元素。

  以下是一个使用这些函数的例子:

#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
// insert some elements
myMap.insert(std::make_pair(1, "Apple"));
myMap.insert(std::make_pair(2, "Banana"));
myMap.insert(std::make_pair(3, "Cherry"));
// erase element with key 2
myMap.erase(2);
// erase element at the beginning of map
myMap.erase(myMap.begin());
// erase all elements
myMap.clear();
return 0;
}

   在这个例子中,首先插入了三个元素,然后删除了键为2的元素,然后删除了迭代器 `begin()` 指向的元素(即,键最小的元素),最后清除了所有元素。

  当你调用 `erase` 函数时,`std::map` 会自动调整,使所有其他元素保持排序。请注意,清除元素后不能使用指向已清除元素的迭代器,否则会导致未定义的行为。

相关文章

python写入json文件?

python写入json文件?

2023-11-02
vscode设置tab为4个空格?

vscode设置tab为4个空格?

2023-11-02
更新pycharm?

更新pycharm?

2023-11-02
anaconda每次打开都要安装?

anaconda每次打开都要安装?

2023-11-02

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取