STL删除元素注意事项
一、vector、list
正确版本:
for(auto iter = a.begin(); iter != a.end(); )
{
if(*iter > 30)
{
iter = a.erase(iter);
}
else
{
iter++;
}
}
错误版本:
for(auto iter = a.begin(); iter != a.end(); ++iter)
{
if(*iter > 30)
{
a.erase(iter);
}
}
二、map
删除map的元素,不能是 map[key]=NULL
这种做法没有删除<key,value>对,而改成了<key,NULL>
只能是
iterator it=map.find(key);
if(it!=map.end())
map.erase(it);
遍历删除问题:
正确版本:
转载于:https://www.cnblogs.com/vinke2013/p/7209242.html
STL删除元素注意事项相关推荐
- python里删除range里的数字_python中range函数与列表中删除元素
一.range函数使用 range(1,5) 代表从1到4(不包含5),结果为:1,2,3,4 ,默认步长为1 range(1,5,2) 结果为:1, 3 (同样不包含5) ,步长为2 ...
- C++ 笔记(23)— STL vector 类(实例化 vector、末尾插入、指定位置插入、数组方式访问元素、指针方式访问元素、删除元素、大小与容量区别)
1. vector 特点 vector 是一个模板类,提供了动态数组的通用功能,具有如下特点: 在数组末尾添加元素所需的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此: ...
- STL中用erase()方法遍历删除元素
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector .deque):另一类是以不连续的节点形式存储的容器(如:list.set.map).在使用erase方法来删除元素时 ...
- STL中map/vector的删除元素操作
在我们使用C++中的STL的时候,可以使用迭代器iterator进行遍历,但是当我们通过iterator对vector和map删除元素的时候,要格外的小心,往往操作不当,导致iterator失效,后果 ...
- 容器删除元素后迭代器失效_STL 4: STL之容器:选择时机,删除元素,迭代器失效...
一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...
- STL容器删除元素的陷阱
今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下: std::vector< ...
- stl list 删除元素_删除所有出现的元素,并从列表中删除一些特定的元素。 C ++ STL...
stl list 删除元素 list.remove()和list.remove_if()函数 (list.remove() and list.remove_if() functions) remove ...
- C++中STL容器利用迭代器删除元素小结
C++中STL容器利用迭代器删除元素小结 在STL容器中删除元素,容易导致迭代器失效,故应该清楚明白其用法,现在总结一下. 转载自:https://blog.csdn.net/yf_li123/art ...
- C++ STL容器元素正确删除
一.容器与迭代器 1.1 STL容器 容器是用来管理一大群元素的,为了适应不同需要,STL提供了不同的容器. 在C++中,容器被定义为:在数据存储上,有一种对象类型,它可以持有其他对象或指向其他对象的 ...
最新文章
- Day03-卷积神经网络原理与使用
- http2.0 的时代来了
- Beta阶段敏捷冲刺总结
- tensorflow中创建多个计算图(Graph)
- vue获取输入框得内容_React入坑(四):获取输入框内的内容
- 洛谷试炼场-简单数学问题-二分查找
- 李楠:《流浪地球》抄的经典套路 但这不是贬低
- TNS-12535: TNS: 操作超时_win7
- python从入门到精通pdf-跟老齐学Python:从入门到精通 完整版PDF[7MB]
- 高效程序员秘籍(9):快速查找硬盘上的文件和目录
- 软件工程第二版(判断题答案)
- asp.net 按钮点击调用FileUpload
- Matlab 官网培训 - 大型项目-风力发电机数据模型构建-Catching the Wind
- 阿铭Linux_网站维护学习笔记20190306
- Ansys Lumerical | 行波 Mach-Zehnder 调制器仿真分析
- 如何玩好“用户思维”
- C#中抽象类和接口的区别与应用场景
- KusionStack 开源有感|历时两年,打破 “隔行如隔山” 困境
- Realsense D435i使用笔记
- db2替换激活永久lic
热门文章
- 面试前需要准备的五个步骤
- jq点击按钮获取php的值删除,通过jquery怎么移除点击事件
- android raw 引用,Android 资源-raw和assets
- 【Centos 7】【Docker】 安装 kafka
- 更换Spring底层日志框架
- phpstorm遍历PHP数组,使用PHPStorm对齐数组的键值对
- 华为荣耀20和x10比较_荣耀x10和荣耀20Pro哪个值得入手 荣耀x10和荣耀20Pro参数对比...
- 模型部署到移动端_TensorFlow Lite 自然语言处理模型的最新功能,助力设备端 NLP 部署...
- centos 8 rpm yum install_关于yum不能正常使用的解决方案
- linux xampp nginx,nginx配置教程_如何配置nginx_nginx安装与配置详解