当前位置: 首页> 教育> 培训 > 网页制作基础教程使用spry构件_个人网页简单模板下载_新手20种引流推广方法_2020年可用好用的搜索引擎

网页制作基础教程使用spry构件_个人网页简单模板下载_新手20种引流推广方法_2020年可用好用的搜索引擎

时间:2025/7/13 0:59:59来源:https://blog.csdn.net/su1326669003/article/details/144041452 浏览次数:2次
网页制作基础教程使用spry构件_个人网页简单模板下载_新手20种引流推广方法_2020年可用好用的搜索引擎

迭代器失效

  • 一、迭代器失效的两大类型
    • 异地扩容后的失效
    • 原地删除后的失效
  • 二、vector<string>出现的深层次拷贝问题

一、迭代器失效的两大类型

异地扩容后的失效

  • 在vector容器中,通常情况下的扩容都是异地扩容,例如resize, reserve,但是这个行为不会改变迭代器指向的位置,因此直接异地扩容会导致迭代器的失效

原地删除后的失效

  • 如果是原地删除,例如erase:erase的逻辑是删除某一个数的位置,让这个数往后的位置都往前挪一个位置,这种行为看起来迭代器貌似没有失效,但:
    如果删除的是最后一个位置,那么:

    在vs平台下,如果不接受erase后返回的值,将会强制检查强制报错
    在linux平台下,编译器不会报错,但是这种行为一是会留下安全隐患(越界问题),二是没有可移植性

二、vector出现的深层次拷贝问题

如图:我们扩容了一个vector<string>类型的对象
但是可以看到,新的对象的string类型。指向的是原对象的string类型的值,这是属于浅拷贝的问题

  • 解决方法是:
	for(size_t = 0; i < size(); i++){tmp[i] = _start[i]; 这里使用自定义类型的赋值(深拷贝赋值)就算是内置类型,也可以一样赋值}
关键字:网页制作基础教程使用spry构件_个人网页简单模板下载_新手20种引流推广方法_2020年可用好用的搜索引擎

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: