一道迭代器失效练习题

news2024/9/21 19:47:34

随便写写

首先学习迭代器失效

传送门 : C+±—浅谈迭代器失效

学完迭代器失效之后做一道题呗

题目

在这里插入图片描述

分析

vector的迭代器为啥会失效
1、插入的时候扩容,转移空间出现野指针
2、删除的时候移动了元素,导致指针没指向正确的元素

list的迭代器为啥会失效
list底层不是一片连续的空间
1、list迭代器在插入的时候不会扩容,所以插入时不会失效
2、list迭代器在删除的时候会释放内存,出现野指针,迭代器会失效

deque的迭代器为啥会失效
deque的底层是一段段不连续的buffer小数组组成
1、deque插入的时候不会扩容,所以插入不会失效
2、deque的每一个buffer是连续的,要删除就会挪动元素,就会造成迭代器失效。

OK,
a、container = vector
删除的时候会移动元素,造成迭代器失效
b、container = list
删除的时候会出现野指针,但iter提前++了,并没有指向已经啥放的空间,并不是野指针,所以迭代器没有失效
c、container = deque
删除的时候移动了元素,造成迭代器失效


所以最后的答案是1和3,即vector和deque

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pdf怎么压缩?分享5种压缩PDF文件的方法

pdf怎么压缩?PDF文件的压缩在日常办公和学习中尤为重要,它不仅能够大幅度缩减文件大小,节省宝贵的存储空间,还能加快文件在网络中的传输速度,提升工作效率。特别是在处理包含大量图像或复杂布局的PDF文档时&#xff0c…

Http带消息头两种请求办法

API接口最近经常碰到,协调几个乙方来回对接,把我折腾晕了,索性自己写一个小的工具,导入历史数据。 获取平台免登录token 接口说明 URL Path:gateweb/bigm-dm/openApi/ologin/openLogin 说明:第三方免登…

vue2 wavesurfer.js(7.8.5)简单使用

文档地址&#xff1a;https://wavesurfer.xyz/docs/ <template><div><el-row><el-card class"card"><div id"waveform" ref"waveform"></div></el-card></el-row><div>总时长&#xff1…

004——双向链表和循环链表

目录 双向链表 双向链表的初始化&#xff08;与单链表类似&#xff09; 增&#xff1a; Ⅰ&#xff09;头插法 Ⅱ&#xff09;尾插法 Ⅲ&#xff09;中间插入 删 改 查 整体代码示例&#xff1a; 循环链表 循环单链表 ​编辑 循环双链表 双向链表 不同于单链表&…

亲测可用导航网站源码分享 – 幽络源

幽络源为大家分享一套经过亲测可用的导航网站源码。初看这套PHP源码时&#xff0c;其数据库结构更像是商城系统源码&#xff0c;但经过某位小天才的修改&#xff0c;它已变成一个功能完备的导航网站。经过站长的测试&#xff0c;该源码运行良好&#xff0c;简单部署即可使用&am…

基于springboot的在线租房系统设计与实现

项目描述 这是一款基于springboot的在线租房系统 截图

438.找到字符串中所有字母异位词

题目 链接&#xff1a;leetcode链接 思路分析&#xff08;滑动窗口&#xff09; 很容易想到&#xff0c;这个题目要求我们在字符串s中找到一个定长的窗口让窗口里面出现异位词。 OK&#xff0c;先思考一下怎么快速判断两个字符串是否是异位词&#xff1f; 比较简单的方法是…

AV1 Bitstream Decoding Process Specification:约定

原文地址&#xff1a;https://aomediacodec.github.io/av1-spec/av1-spec.pdf没有梯子的下载地址&#xff1a;AV1 Bitstream & Decoding Process Specification摘要&#xff1a;这份文档定义了开放媒体联盟&#xff08;Alliance for Open Media&#xff09;AV1视频编解码器…

ubuntu配置tftp、nfs

tftp配置 tftp是简单文件传输协议&#xff0c;基于udp实现传输。这里的简单文件&#xff0c;指的是不复杂、开销不大的文件。 先在ubuntu中安装tftp&#xff0c;输入命令&#xff1a;sudo apt-get install tftp-hpa tftpd-hpa。 接着配置tftp。 输入命令&#xff1a;sudo v…

div内英文不换行问题以及解决方案

div内英文不换行问题以及解决方案 div盒子中文字换行问题&#xff1a;div中放中文的代码&#xff1a;div中放英文的代码&#xff1a; 解决办法注意 div盒子中文字换行问题&#xff1a; div设置宽度以后&#xff0c;如果div中放的是中文&#xff0c;默认文字超过div宽度会自动换…

GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征分类预测/故障诊断

GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征分类预测/故障诊断 目录 GAF-PCNN-BiLSTM、GASF-CNN-BiLSTM、GADF-CNN-BiLSTM的多特征分类预测/故障诊断分类效果格拉姆矩阵图 基本介绍程序设计参考资料 分类效果 格拉姆矩阵图 基本介绍 1.Matlab实现GAF-PCNN-Bi…

Kerberos:更安全的网络认证协议

简介 Kerberos 是一种网络认证协议&#xff0c;主要用于特定的场景下&#xff0c;代替传统的token方式&#xff0c;以一种更繁琐&#xff0c;但更安全的方式来认证用户信息。它通过票据 (ticket) 机制&#xff0c;确保用户在网络中与服务之间进行加密通信&#xff0c;并且避免…

【云备份】可视化客户端----QT开发➕QT数据库编程

文章目录 一、 需求分析二、 概念结构设计三、逻辑结构设计1. 用户表 (users)2. 客户端本地文件信息表 (upload_files)3. 备份记录表 (backup_records)4. 服务端备份文件信息表 (backup_files) 四、 开发工具五、具体实现&#xff08;一&#xff09; 客户端程序运行演示 一、 需…

7.科学计算模块Numpy(4)ndarray数组的常用操作(二)

引言 书接上回&#xff0c;numpy能作为python中最受欢迎的数据处理模块&#xff0c;脱离不了它最核心的部件——ndarray数组。那么&#xff0c;我们今天就来了解一下numpy中对ndarray的常用操作。 通过阅读本篇博客&#xff0c;你可以&#xff1a; 1.掌握ndarray数组的分割 …

shader 案例学习笔记之smoothstep函数

参考&#xff1a;smoothstep 用来生成0-1的平滑过渡值 smoothstep函数源码实现&#xff1a; float smoothstep(float t1, float t2, float x) {// Scale, bias and saturate x to 0..1 rangex clamp((x - t1) / (t2 - t1), 0.0, 1.0); // Evaluate polynomialreturn x * x *…

@rem和rem用法和区别

在Windows的命令提示符&#xff08;cmd&#xff09;中&#xff0c;rem和rem都是用来注释批处理脚本的。 用法&#xff1a; rem&#xff1a;在一行的开头使用&#xff0c;注释只对当前行有效。rem&#xff1a;也在一行的开头使用&#xff0c;注释会一直持续到下一行。 区别&a…

基于SpringBoot的在线汽车租赁信息管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的在线汽车租赁信息…

STM32 HAL freertos零基础(五) STM32CubeMX配置完成后自定义二值信号量 解决二值信号量初始值为1问题

1、简介 通过上文虽然实现了二值信号量实战&#xff0c;但每次配置STM32CubeMX二值信号量都恢复默认值1&#xff0c;为了解决该问题&#xff0c;对于二值信号量通过CubeMX配置完成后&#xff0c;在程序内自定义二值信号量。 2、文件建立 建立BinarySem文件夹添加BinarySem.c…

Selenium自动化测试网页加载太慢如何解决(超详细)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 遇到网页加载慢&#xff0c;selenium运行效率降低&#xff0c;可以通过修改页面加载策略提升自动化效率。 selenium加载很慢 通过URL导航到新页面时&#xff0c;…

利用平板电脑和谷歌浏览器进行在线教育学习

在数字化时代&#xff0c;教育的形式越来越多样化&#xff0c;特别是在线教育的兴起为学习带来了前所未有的便利。对于经常在平板电脑上进行学习的用户来说&#xff0c;谷歌浏览器提供了强大的功能&#xff0c;帮助用户更有效地学习。本文将指导您如何在使用平板电脑和谷歌浏览…