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

关于机场建设的网站烟台seo快速排名

关于机场建设的网站,烟台seo快速排名,网站做,萧云建设网站C笔记之迭代器失效问题处理 code review! 参考博文:CSTL迭代器失效的几种情况总结 文章目录 C笔记之迭代器失效问题处理一.使用返回新迭代器的插入和删除操作二.对std::vector 来说,擦除(erase)元素会导致迭代器失效 一.使用返回…

C++笔记之迭代器失效问题处理

code review!
在这里插入图片描述
参考博文:C++STL迭代器失效的几种情况总结

文章目录

  • C++笔记之迭代器失效问题处理
    • 一.使用返回新迭代器的插入和删除操作
    • 二.对`std::vector` 来说,擦除(erase)元素会导致迭代器失效

一.使用返回新迭代器的插入和删除操作

在这里插入图片描述

二.对std::vector 来说,擦除(erase)元素会导致迭代器失效

对于 std::vector 来说,擦除(erase)元素会导致迭代器失效。具体而言,当从 std::vector 中删除元素时,原来指向被删除元素的迭代器就会失效,进而可能引起未定义行为。
在这里插入图片描述

处理迭代器失效的方法取决于具体的情况和需求。以下是一些处理迭代器失效的常见方法:

  1. 使用返回新迭代器的擦除操作std::vectorerase() 函数会返回一个指向下一个有效元素的迭代器。因此,在擦除元素后,可以使用返回的新迭代器继续遍历容器。
#include <iostream>
#include <vector>int main() {std::vector<int> myVector = {1, 2, 3, 4, 5};for (auto it = myVector.begin(); it != myVector.end(); ) {if (*it % 2 == 0) {it = myVector.erase(it); // 擦除元素,并返回指向下一个元素的新迭代器} else {++it; // 移动迭代器到下一个位置}}// 使用新迭代器遍历容器for (auto it = myVector.begin(); it != myVector.end(); ++it) {std::cout << *it << " ";}return 0;
}
  1. 使用标准算法:C++ 提供了一些标准算法,如 std::remove_if,用于在不失效迭代器的情况下移除满足条件的元素。
#include <iostream>
#include <vector>
#include <algorithm>int main() {std::vector<int> myVector = {1, 2, 3, 4, 5};myVector.erase(std::remove_if(myVector.begin(), myVector.end(), [](int n) {return n % 2 == 0;}), myVector.end());// 使用迭代器遍历容器for (auto it = myVector.begin(); it != myVector.end(); ++it) {std::cout << *it << " ";}return 0;
}

在此例中,我们使用 std::remove_if 来将满足条件的元素移到容器末尾,并返回一个指向新的逻辑尾部的迭代器,然后再使用 erase() 擦除这些元素。

总之,在删除 std::vector 的元素时,尽量使用返回新迭代器的擦除操作或者标准算法,以确保迭代器不会失效。在使用 erase() 函数后,使用返回的新迭代器来继续遍历容器。如果你需要在循环中擦除元素,请特别注意处理迭代器的有效性。

http://www.hkea.cn/news/963742/

相关文章:

  • 做网站公司q房网seo快速排名站外流量推广
  • 南宁网站排名优化广州发布紧急通知
  • 网站建设的策划方案seo排名
  • 网站模板绑定域名培训班
  • coupang入驻条件2022台州关键词优化报价
  • 网站建设前景怎么样google优化师
  • 上海免费网站建设淘宝引流推广怎么做
  • 单位网站建设目的西安网站建设公司排行榜
  • 福州制作网站软件无人在线观看高清视频单曲直播
  • 建设银行卡网站百度账号登录个人中心
  • 网站显示500错误怎么解决方法seo网站推广排名
  • 广告免费设计在线生成网站排名优化
  • 余姚公司网站建设怎么建网址
  • 网站域名授权怎么做市场营销案例100例
  • kindeditor代码高亮 wordpressseo优化排名经验
  • 家乡介绍网页设计上海网站排名优化
  • 广州黄埔网站制作百度sem是什么意思
  • 网站流量分析网站网络推广营销网
  • 化妆品网站建设计划书网站维护是什么意思
  • 建设局网站公告宣传推广的形式有哪些
  • 网站基本架构设计的主要步骤什么软件可以排名次
  • 代做毕业设计网站多少钱网站推广交换链接
  • 苹果指争议广告lg广告北京seo公司网站
  • flash网站制作公司能打开各种网站的浏览器下载
  • 网站开发是叫系统吗站长工具seo排名查询
  • 站长之家html模板西安网站seo技术厂家
  • 重庆网站建设 渝seo交流论坛
  • 洛阳市网站建设宁波seo网络推广软件系统
  • 做网站用建站模版好还是定制好百度站点
  • 关注济南网站建设深圳市企业网站seo