当前位置: 首页 > news >正文

网站规划的公司友链外链app

网站规划的公司,友链外链app,深圳 购物网站,科技有限公司属于什么企业类型项目中用到了std::list容器,删除容器中元素后即调用erase()函数后可能会导致迭代器失效。一般导致迭代器失效的原因有两种:1、迭代器对象已经变成了“野指针”,对其进行*,,--都会引起程序内存操作异常。2、迭代器对象所指向的内容已经不是所期…

项目中用到了std::list容器,删除容器中元素后即调用erase()函数后可能会导致迭代器失效。

一般导致迭代器失效的原因有两种:

1、迭代器对象已经变成了“野指针”,对其进行*,++,--都会引起程序内存操作异常。

2、迭代器对象所指向的内容已经不是所期望的内容。

STL中的容器按存储方式分为两类,一类是顺序容器(如:vector,string,deque和list),一类是关联容器(如:set,map),使用erase()函数时不同。(注意:以下所说的是C++98标准,C++11标准erase函数有变动)

1、顺序容器(如:vector,string,deque)使用erase()方法:

erase函数原型:iterator erase(const_iterator iter);

顺序容器的erase函数都会返回下一个有效地迭代器,可以这样使用:iter = vec.erase(iter);但以数组形式存的顺序容器(不包括list)不能这样使用:vec.erase(iter++),因为该类型容器一旦erase时,iter++操作会在删除前使iter指向下一个位置,同时后面的数据会向前面移动一个位置,所以iter实际指向的已经不是所期望的内容了。

vector容器删除元素方法如下:

for (vector&ltT&gt::const_iterator iter=vec.begin(); iter!=vec.end();)

{

if (WillDelete(*iter))

{

iter = vec.erase(iter);

}

else

{

++iter;

}

}

list容器删除元素方法如下:

// 第一种方法

iter = lst.erase(iter);

//第二种方法

lst.erase(iter++);

原因:list容器是顺序容器的一种,所以erase函数会返回下一个有效地迭代器,但因为是链式存储所以数据不会向前移动,所以iter = lst.erase(iter)和lst.erase(iter++)两种方法均可用

2、关联容器(如:set,map)使用erase()方法:

erase函数原型:void erase(const_iterator iter);

关联容器的erase函数都会返回void或被删除个数(与这里讨论的内容无关),可以这样使用:iter = vec.erase(iter++)。

set容器删除元素方法如下:

for (set&ltT&gt::const_iterator iter=s.begin(); iter!=s.end();)

{

if (WillDelete(*iter))

{

s.erase(iter++);

}

else

{

++iter;

}

}

http://www.lbrq.cn/news/2716111.html

相关文章:

  • 室内设计相关网站百度不能搜的十大禁词
  • 在58做网站推广有用没网络营销好学吗
  • 网站开发私活网站怎么弄
  • wordpress评论回复邮件通知百度关键词优化软件如何
  • 做网站一般多少钱青岛seo关键词优化公司
  • 建设网站平台哪里最好大冶seo网站优化排名推荐
  • 多个链接的网站怎么做的百度网页推广怎么做
  • 免费b2b网站大全 外贸2023年适合小学生的新闻
  • wordpress不连续百度seo官方网站
  • 网站模板源代码下载营销中存在的问题及对策
  • 龙华高端网站设计百度怎么投放广告
  • 公司网站维护费怎么做分录网络营销心得体会1000字
  • 企业网站建设尚未实现宣传功能seo工资
  • 利辛县城乡住房建设委员会网站每天新闻早知道
  • cms网站开发百度认证官网申请
  • wap类网站1小时快速搭建网站
  • 福建网站开发湖南关键词优化推荐
  • 网页制作策划路程seo优化排名怎么做
  • 做网站需要写代码怎么做好推广
  • 微信小程序怎么做网站上海网站推广系统
  • 企业起名网站怎么做制作网站的全过程
  • 北京做网站浩森宇特网店运营推广
  • 科技公司网站版面设计培训心得体会800字
  • 怎么做bbs网站cba赛程
  • 卡盟网站模板希爱力双效片用后感受
  • 中英文网站栏目修改台州专业关键词优化
  • 一般网站用什么技术做的百度app下载安装
  • 上海模板网站长沙网络推广只选智投未来
  • 3gb2c.com是什么网站个人网站设计内容
  • 网站关键字太多营销型网站建设的步骤流程是什么
  • 【每天一个知识点】生物的数字孪生
  • 希尔排序专栏
  • 普通电脑与云电脑的区别有哪些?全面科普
  • 深度学习·ExCEL
  • 完整源码+技术文档!基于Hadoop+Spark的鲍鱼生理特征大数据分析系统免费分享
  • 18. parseInt 的参数有几个