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

哪个公司可以做网站seo关键词优化软件怎么样

哪个公司可以做网站,seo关键词优化软件怎么样,seo整站优化价格,中国艺术设计联盟一、什么是迭代器失效 迭代器的主要作用就是让算法能够不用关心底层数据结构,其底层实际就是一个指针,或者是对指针进行了封装,比如:vector的迭代器就是原生态指针T* 。因此迭代器失效,实际就是迭代器底层对应指针所指…

一、什么是迭代器失效

        迭代器的主要作用就是让算法能够不用关心底层数据结构,其底层实际就是一个指针,或者是对指针进行了封装,比如:vector的迭代器就是原生态指针T* 。因此迭代器失效,实际就是迭代器底层对应指针所指向的空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序崩溃(即如果继续使用已经失效的迭代器,程序可能会崩溃)。

        迭代器失效不止是针对vector类,其它容器也会出现,但最底层的原因都是一样的,所以这里就以vector为例进行讲解。

二、迭代器失效的触发条件

对于vector可能会导致其迭代器失效的操作有:
        1. 会引起其底层空间改变的操作,都有可能是迭代器失效,比如:resize、reserve、insert、
assign、push_back等对象在扩容后迭代器还指向原空间,而原空间已经被弃用(内存已释放)
,再使用迭代器的话程序就会崩溃。

        2.指定位置元素的删除操作(erase函数)。erase删除pos位置元素后,pos位置之后的元素会往前搬移,没有导致底层空间的改变,理论上讲迭代器不应该会失效,但是:如果pos刚好是最后一个元素,删完之后pos刚好是end的位置,而end位置是没有元素的,那么pos就失效了。因此删除vector中任意位置上元素时,vs开发环境也把该位置的迭代器视为失效。

#include <iostream>
using namespace std;
#include <vector>
int main()
{vector<int> v{ 1,2,3,4,5,6 };auto it = v.begin();// v.resize(100, 8);// 将有效元素个数增加到100个,多出的位置使用8填充,操作期间底层会扩容// v.reserve(100);// reserve的作用就是改变扩容大小但不改变有效元素个数,操作期间可能会引起底层容量改变// v.insert(v.begin(), 0);// v.push_back(8);// 插入元素期间,可能会引起扩容,而导致原空间被释放// 给vector重新赋值,可能会引起底层容量改变v.assign(100, 8);/*出错原因:以上操作,都有可能会导致vector扩容,也就是说vector底层原理旧空间被释放掉,而在打印时,it还使用的是释放之间的旧空间,在对it迭代器操作时,实际操作的是一块已经被释放的空间,而引起代码运行时崩溃。解决方式:在以上操作完成之后,如果想要继续通过迭代器操作vector中的元素,只需给it重新赋值即可。*/while (it != v.end()){cout << *it << " ";++it;} cout << endl;return 0;
}

 

三、迭代器失效的解决方法

        为考虑迭代器失效的问题库里面的方法是insert函数最后需要返回原pos指向的迭代器。esare函数最后要返回被删除数据的下一位数据的迭代器,这样就可以方便对原迭代器更新

        从使用者的角度,我们只需要每次涉及到可能会导致迭代器失效的操作时对迭代器进行更新就行(接收insert,esare的返回值等方式)。

http://www.tj-hxxt.cn/news/33816.html

相关文章:

  • 广州购网站建设查关键词热度的网站
  • opencart做视频网站嘉兴seo
  • 国外 网站页面产品运营方案
  • 做网店在素材网站找的图侵权吗最近新闻热点大事件
  • html企业网站模板机构类网站有哪些
  • 如何做产品网站论坛推广方案
  • 怎样做校园网站推广网络游戏推广平台
  • 静态网页设计心得体会aso优化是什么意思
  • 龙岩网站优化费用百度快照什么意思
  • 网站上传的图片怎么做的清晰制作一个网站的流程有哪些
  • 灰色 网站合肥seo网站排名优化公司
  • 资源网站建设多少钱百度推广好做吗
  • 网站推广常用方法包括网站增加外链的方法有哪些
  • 世界摄影网站网站搜索引擎拓客
  • 上海网站建设网页制作邢台定向推广
  • wordpress站群的作用永久免费域名申请
  • 眉县网站建设成人技术培训学校
  • 交易网站开发合同营销型网站建设设计
  • 杭州网站前端建设北京搜索引擎优化管理专员
  • 可信赖的扬中网站建设个人免费网站创建入口
  • 让别人做网站图片侵权李江seo
  • 网站制作程序下载网页设计代码案例
  • 网站开发现状及研究意义信息流优化
  • 男人和女人做受吃母乳视频网站免费正规的教育机构有哪些
  • 南京企业制作网站最新新闻事件摘抄
  • 玉树州网站建设公司门户网站怎么做
  • 乡镇政府网站建设情况seoul是什么意思
  • 互联网网站解决方案中小企业网站
  • 网站建设维护什么意思中国最新领导班子
  • 做网站设计好的公司网络营销和市场营销的区别