Chapter 20.简单的erase后迭代器失效处理
来源:互联网 发布:linux ping的使用 编辑:程序博客网 时间:2024/06/05 06:22
顺序容器erase失效处理
对vector、list、deque都适用
//method 1.for(auto iter = iVec.begin(); iter != iVec.end();){if(*iter == 100){iter=iVec.erase(iter);//iter返回的是erase位置处的下一个元素的迭代器}else{++iter;}}
//method 2.for(auto iter = iVec.begin(); iter != iVec.end();++iter){if(*iter == 100){iter=iVec.erase(iter);iter=iVec.begin();//重新整理iVec}}
关联容器map erase失效处理
map中不同的key中value可能相同,比如value用作标记
map<string,bool> bMap中,想把bMap->second==false的全删除,
下面的写法就有了用处
//method 1.for(auto it=bMap.begin(); it != bMap.end();){if(it->second == flase){bMap.erase(it++);//erase返回的是void,不能用顺序容器的方式}else{++it;}}
//method 2.for (auto it=bMap.begin() ; it != bMap.end();++it){if( it->second == false){bMap.erase(it);it=bMap.begin();//重新整理bMap}}
- Chapter 20.简单的erase后迭代器失效处理
- 容器erase迭代器失效的问题
- 关于STL erase的iterator失效问题
- STL的erase()陷阱-迭代器失效总结
- STL的erase()陷阱-迭代器失效总结
- 关于STL erase的iterator失效问题
- STL的erase()陷阱-迭代器失效总结
- STL 的 erase() 陷阱-迭代器失效总结
- STL的erase()陷阱-迭代器失效总结
- STL 的 erase( ) 陷阱-迭代器失效总结
- STL的erase()陷阱-迭代器失效总结
- STL的erase()陷阱-迭代器失效总结
- STL 的 erase() 陷阱-迭代器失效总结
- STL的erase()陷阱-迭代器失效总结
- STL的erase()陷阱-迭代器失效总结
- c++ erase 会使迭代器失效
- 关于vector的erase操作后,迭代器失效问题
- 迭代器失效(1)-小心使用STL容器的erase()
- 删除tar包解压文件
- 判断两个数组中是否有相同的数字
- 字符集和编码
- 当你输入一个网址的时候,实际会发生什么?
- log4cxx中文输出错误补丁
- Chapter 20.简单的erase后迭代器失效处理
- Android实现计时与倒计时(限时抢购)的几种方法
- NiosII 的timestamp的作用
- ScriptCase开发平台介绍(六)——连接数据库
- 网络请求状态代码含义解析
- Unexpected call to method or property access
- C++基本概念总结——const 和 非const
- select,epoll,poll比较
- axis2 webservice学习笔记二