容器类iterator 循环删除结点的问题
来源:互联网 发布:java代码解析json数据 编辑:程序博客网 时间:2024/05/29 14:30
对于容器,iterator 循环删除(erase)的结点,返回的是下一个结点,如果直接it++,会出错:
//如下写法是错误:
//如果erase了,就不能it++了
for (it = data_list.begin(); it != data_list.end();it++)
data_list.erase(it);//删除it后,再it++,会出错
//正确的使用如下:
//it erase完后,返回it++
list<int>::iterator it;for (it =data_list.begin(); it != data_list..end(); ) {
if (*it % 100 == 0)
data_list.erase(it++); //这里是关键 ,利用临时变量 ,也可以这样it=lt.erase(it)
else
++it;
}
阅读全文
0 0
- 容器类iterator 循环删除结点的问题
- 如何使用迭代器iterator循环删除容器中的元素?
- 如何使用迭代器iterator循环删除容器中的元素?
- 如何使用迭代器iterator循环删除容器中的元素?
- 如何使用迭代器iterator循环删除容器中的元素?
- 循环结点的前驱删除操作
- 容器 Iterator中讲的一个for循环
- java iterator 遍历删除容器
- 容器 Iterator 遍历时安全的删除元素
- 循环根据iterator删除相应元素的代码
- iterator循环的时候不能有删除操作erase()
- vector erase 重复删除容器内的指定内容时,使用迭代器(iterator)++的操作应该放到For循环内
- 双向循环列表的增加和删除结点
- 循环双链表删除第一个值为x的结点
- 关联容器&&vector删除某个结点后的其他结点地址改变
- 【第二十三课】容器---Iterator类的使用
- vector容器的iterator
- 二叉搜索树的插入和删除结点操作以及iterator的构造
- Centos7使用yum安装MySQL以及如何实现远程连接
- 欢迎使用CSDN-markdown编辑器
- hadoop和Storm
- EASYUI 登陆框界面
- 初识Mybatis(一)
- 容器类iterator 循环删除结点的问题
- spring4天计划(2day)
- CNN直观感受
- C语言循环与递归
- 【补充】adr和ldr的区别
- zabbix自定义监控发邮件
- 高级编程之topn
- vim配置文件
- * 24种设计模式——工厂模式