基于list循环删除元素,迭代器失效的问题详解

 更新时间:2016年12月25日 09:43:52   投稿:jingxian  
下面小编就为大家带来一篇基于list循环删除元素,迭代器失效的问题详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

问题的关键是:在删除元素之前,将当前迭代器保存下来。当然,这里仅支持list,因为list的链式的删除一个元素,前面的指针指向下一个元素,vector和queue就不好办了,它们或者是线性的或者是半线性半链式,迭代器会失效

#include<iostream>
#include<list>
using namespace std;
int main()
{
	list<int *> l;
	for(int i=1;i<=100;i++)
	{


		int* temp=new int;
		*temp=i;
		l.push_back(temp);
	}
	list<int *>::iterator it=l.begin();
	list<int *>::iterator ittemp=l.begin();
	for(;it!=l.end();++it)
	{
		cout<<*(*it)<<endl;


	}
	it=l.begin();
	ittemp=l.begin();
	for(;it!=l.end();)
	{
		ittemp=it;
		++it;
		delete (*ittemp);
		l.erase(ittemp);


	}
	cout<<l.size()<<endl;
	return 0;


}

以上就是小编为大家带来的基于list循环删除元素,迭代器失效的问题详解全部内容了,希望大家多多支持脚本之家~

相关文章

  • C++ JSON库 nlohmann::basic_json::accept的用法解析

    C++ JSON库 nlohmann::basic_json::accept的用法解析

    nlohmann::basic_json::accept 是 Nlohmann JSON 库中的一个方法,它用于检查一个字符串是否可以解析为有效的 JSON,这篇文章主要介绍了C++ JSON库nlohmann::basic_json::accept的用法,需要的朋友可以参考下
    2023-06-06
  • C语言二叉树常见操作详解【前序,中序,后序,层次遍历及非递归查找,统计个数,比较,求深度】

    C语言二叉树常见操作详解【前序,中序,后序,层次遍历及非递归查找,统计个数,比较,求深度】

    这篇文章主要介绍了C语言二叉树常见操作,结合实例形式详细分析了基于C语言的二叉树前序,中序,后序,层次遍历及非递归查找,统计个数,比较,求深度等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-04-04
  • C语言平衡二叉树详解

    C语言平衡二叉树详解

    这篇文章主要介绍了C语言平衡二叉树的相关资料,需要的朋友可以参考下,小编觉得这篇文章写的还不错,希望能够给你带来帮助
    2021-11-11
  • 详解C++11中的lambda匿名函数

    详解C++11中的lambda匿名函数

    匿名函数,简单地理解就是没有名称的函数,又常被称为 lambda 函数或者 lambda 表达式,这篇文章主要介绍了C++11中的lambda匿名函数,需要的朋友可以参考下
    2022-11-11
  • C++高性能服务器框架之线程模块

    C++高性能服务器框架之线程模块

    该模块基于pthread实现,sylar说,由于c++11中的thread也是由pthread封装实现的,并且没有提供读写互斥量,读写锁,自旋锁等,所以自己封装了pthread,本文主要详细介绍了C++高性能服务器框架中的线程模块,需要的朋友可以参考下
    2023-06-06
  • c++ 快速排序算法【过程图解】

    c++ 快速排序算法【过程图解】

    下面小编就为大家带来一篇c++ 快速排序算法【过程图解】。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • C/C++ 读取16进制文件的方法

    C/C++ 读取16进制文件的方法

    下面小编就为大家带来一篇C/C++ 读取16进制文件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 矩阵的行主序与列主序的分析

    矩阵的行主序与列主序的分析

    这篇文章主要介绍了矩阵的行主序与列主序的分析的相关资料,需要的朋友可以参考下
    2017-07-07
  • C语言解决螺旋矩阵算法问题的代码示例

    C语言解决螺旋矩阵算法问题的代码示例

    这篇文章主要介绍了C语言解决螺旋矩阵算法问题的代码示例,螺旋矩阵中的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环...需要的朋友可以参考下
    2016-04-04
  • 基于Opencv实现双目摄像头拍照程序

    基于Opencv实现双目摄像头拍照程序

    这篇文章主要为大家详细介绍了基于Opencv实现双目摄像头拍照程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04

最新评论