循环根据iterator删除相应元素的代码
来源:互联网 发布:cms集中管理软件下载 编辑:程序博客网 时间:2024/05/29 07:38
错误的方法:
- for (MAP::iterator it = theMap.begin(); theMap.end()!=it; ++it) {
- if (canDrop(*it)) {
- // 错误:当erase执行以后,it立刻就失效了,在执行到for循环的++it时就会出现未知后果。
- theMap.erase(it);
- }
- }
- for (MAP::iterator it = theMap.begin(); theMap.end()!=it;) {
- if (canDrop(*it)) {
- // 在erase之前,先递增迭代器,此时由于erase尚未被调用,所以递增后的迭代器有效
- // 然后用迭代器的原始值来调用erase,确何删除正确的荐
- theMap.erase(it++);
- } else {
- ++it;
- }
- }
- 循环根据iterator删除相应元素的代码
- 如何使用迭代器iterator循环删除容器中的元素?
- 如何使用迭代器iterator循环删除容器中的元素?
- 如何使用迭代器iterator循环删除容器中的元素?
- 如何使用迭代器iterator循环删除容器中的元素?
- 使用Iterator的remove方法删除元素
- Iterator 循环 List remove元素报错的解决办法
- 利用Iterator删除集合元素
- 根据指定的元素删除数组中相同的元素
- iterator循环的时候不能有删除操作erase()
- 容器类iterator 循环删除结点的问题
- 容器 Iterator 遍历时安全的删除元素
- jQuery根据元素值删除数组元素的方法
- 关于循环删除某元素的方法
- 循环遍历中删除集合的元素
- 在循环中删除集合的元素
- 循环删除list中元素的方法
- 循环删除vector元素
- Android开发应用之计时器(TimerTask和Timer)
- inode, FAT32, and NTFS
- 《Java编程思想》学习笔记3——内部类
- OGRE材质
- Core File
- 循环根据iterator删除相应元素的代码
- OGRE场景查询
- What is meaning of run level in Linux system? What are they?
- Java NIO原理和使用
- linux常用命令
- OGRE地形
- What are the process states in UNIX?
- What are the UNIX system calls for I/O?
- What are shell variables?