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)74
- C++ 数字字符乘积转换为字符的简洁实现(DeepSeek | 186点数解答 | 2026-05-29 21:06:11)19
- Java中FastJSON解析JSON字符串的优化方案及开发建议(字节豆包 | 674点数解答 | 2026-04-03 13:17:19)36
- Python 代码转 C++:计算花朵鲜艳值总和(字节豆包 | 408点数解答 | 2026-04-19 21:50:57)43
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)471
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)392
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)402
- C++实现最短编辑距离计算:将一个单词转换为另一个的最少操作数揭秘(字节豆包 | 311点数解答 | 2025-11-12 14:55:49)75
- C++ vector 边遍历边删除的常见陷阱与 remove_if 正确用法详解(阿里通义 | 1057点数解答 | 2026-03-22 09:23:09)37
- C++ 利用栈求解唯一路径迷宫:从起点 (1,1) 到终点 (m - 2,n - 2)(阿里通义 | 732点数解答 | 2024-11-03 02:34:53)549
- Linux 系统用户、组及文件操作全流程实践(字节豆包 | 1142点数解答 | 2026-03-20 17:29:38)55
- Java顺序表源码深度解析:从内存布局到扩容机制与Windows实战指南(阿里通义 | 2528点数解答 | 2026-04-01 10:06:46)42