C++开发:巧用 `std::map::erase` 隔一个删除一个 `map` 元素
在C++中,你可以使用`std::map::erase`函数来删除一个map中的元素。这个函数需要一个迭代器作为参数,指向你想要删除的元素。如果你只知道元素的值,而不知道它的迭代器,那么你可能需要先找到这个元素的迭代器。 以下是一个例子,它每隔一个元素删除一个map中的元素: ```cpp #include <iostream> #include <map> int main() { std::map<int, int> myMap = {{1, 10}, {2, 20}, {3, 30}, {4, 40}, {5, 50}}; for (auto it = myMap.begin(); it != myMap.end(); ) { if ((it - myMap.begin()) % 2 == 0) { myMap.erase(it++); } else { ++it; } } for (const auto& pair : myMap) { std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl; } return 0; } ``` 在这个例子中,我们首先创建了一个map,然后使用一个for循环来遍历这个map。在每次迭代中,我们检查当前的迭代器是否对应一个偶数索引的元素(索引从0开始)。如果是,我们就使用`std::map::erase`函数来删除这个元素,并将迭代器向前移动一步。如果不是,我们就简单地将迭代器向前移动一步。这样,我们就每隔一个元素删除一个元素。 ######[AI写代码神器 | 332点数解答 | 2023-11-09 00:43:03]
- C++与C语言代码:文章中查找单词次数及位置的问题分析与改进方案(字节豆包 | 1381点数解答 | 2025-12-15 17:32:28)47
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)434
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)352
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)362
- C++代码数组越界错误分析与修正:巧妙使用 std::min 避免风险(DeepSeek | 263点数解答 | 2026-01-17 10:23:32)29
- C++代码详解:根据输入半径计算圆的直径、周长和面积(字节豆包 | 484点数解答 | 2026-02-02 17:42:40)32
- C++实现最短编辑距离计算:将一个单词转换为另一个的最少操作数揭秘(字节豆包 | 311点数解答 | 2025-11-12 14:55:49)55
- C++ vector 边遍历边删除的常见陷阱与 remove_if 正确用法详解(阿里通义 | 1057点数解答 | 2026-03-22 09:23:09)8
- C++ 利用栈求解唯一路径迷宫:从起点 (1,1) 到终点 (m - 2,n - 2)(阿里通义 | 732点数解答 | 2024-11-03 02:34:53)525
- 完善鱼类大小筛选代码:处理输入错误与边界情况(字节豆包 | 123点数解答 | 2024-12-01 23:56:16)213
- C++:优化代码实现从输入两整数按步长输出且数间用空格分隔 (字节豆包 | 150点数解答 | 2026-01-31 21:11:38)24
- Linux 系统用户、组及文件操作全流程实践(字节豆包 | 1142点数解答 | 2026-03-20 17:29:38)18