【C++:list】

news2024/10/5 8:53:28

list概念

  • list是一个带头的双向循环链表,
  • 双向循环链表的特色:每一个节点拥有两 个指针进行维护,俩指针分别为prev和next,prev指该节点的前一个节点,next为该节点的后一个节点

list的底层实现中为什么对迭代器单独写一个结构体进行封装? 

list中的原生指针并不能满足迭代器的需要(迭代器需要通过++或者--的操作符对链表进行遍历)于是重新写一个关于迭代器的类,重载操作符,完善迭代器的需求

链表的空间并不是连续的,如果对原生指针进行++操作并不会拿到下一个节点的地址,于是封装一个类,重载运算符

疑问:重载运算符咋个重载?

在顺序表中,迭代器++就能到达下一个空间,但是链表这里到达下一个空间需要用list中的next指针,重载++,--运算符如下:

重载操作符来管理迭代器的行为

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

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

相关文章

<电力行业> - 《第6课:电力企业》

1 电力行业 电力是个庞大的行业,企业众多,这里重点介绍下行业的巨头。 2 输配电企业(电网) 老百姓最熟悉的电力企业,两大电网公司:国家电网、南方电网,行业内最大的甲方。 3 电力基础设施建…

解决2021版IDEA新建没有Server问题

2024-06-27可用 我是这样解决的,仅供参考 IDEA软件是2021.1.1版 导入Tomcat的Servlet包,就解决了,详见下图操作 1. 打开项目结构 2. 选Libraries 3. 找到Tomcat安装路径 比如我安装在了“C:\soft”目录,就去这个目录找 然后记得…

22、24年--项目管理概论——价值驱动的项目管理知识体系

1、项目管理原则 1.1 勤勉、尊重和关心他人 1)项目管理者在遵守内部和外部准则的同时,应该以负责任的方式行事,以正值、关心和可信的态度开展活动,同时对其所负责的项目的财务、社会和环境影响做出承诺 2)关键点。项目管理者在坚持“勤勉、尊重和关心他人”原则时,应该关…

[MySQL]购物管理系统—简略版

本文内容需以MySQL支持 特别感谢baidu comate AI提供的少量虚拟数据 0.建库(建立数据库——utf8字符集,utf8_general_ci排序规则) 1.此项目ER图如下 2.DDLDML(共九表,27数据) SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS goods; CREATE TABLE g…

定制型汽车传感器在汽车中的应用

定制型汽车霍尔传感器在汽车中的应用及功能 曲轴和凸轮轴位置传感器: 这些传感器用于监测发动机的曲轴和凸轮轴的位置,帮助发动机管理系统精确控制点火时机和燃油喷射,提高发动机效率。 变速器控制系统: 在自动变速器中&#xf…

Spring Boot中获取请求参数的几种方式

前言 在构建现代 Web 应用时,处理来自客户端的请求参数是不可或缺的一部分。Spring Boot作为构建微服务应用的领先框架,提供了多种灵活高效的方式来获取请求参数,满足各种应用场景。 无论您是Spring Boot的初学者,还是希望更深入…

Python私教张大鹏 PyWebIO通过事件回调实现表格的编辑和删除功能

从上面可以看出,PyWebIO把交互分成了输入和输出两部分:输入函数为阻塞式调用,会在用户浏览器上显示一个表单,在用户提交表单之前输入函数将不会返回;输出函数将内容实时输出至浏览器。这种交互方式和控制台程序是一致的…

PY32F003系列单片机,超值国产32位单片机,资料齐全 易于开发

PY32F003 系列微控制器是采用高性能的 32 位 ARM Cortex-M0 内核,宽电压工作范围的 MCU。嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器,最高工作频率 32 MHz。包含多种不同封装类型多款产品。 PY32F003 系列微控制器的工作温度范围为 -40 ~ 85 ℃…

【铂电阻测温】如何保证热电阻采集的可靠性

TPS02RAH的输出接口为I2C,支持主机动态更改模块I2C地址,实现了单I2C总线挂载多个TPS02RAH测温模块的功能。 TPS02RAH的输出接口为I2C,支持主机动态更改模块I2C地址,实现了单I2C总线挂载多个TPS02RAH测温模块的功能。 参考链接 【…

酷瓜云课堂(内网版)v1.1.5 发布,局域网在线学习+考试系统

更新内容 更新layui-v2.9.10更新docker国内镜像地址增加导入镜像构建容器的方式教师不批阅非首次考试试卷轮播图增加专栏类型目标链接增加课程能否发布检查去除初始化kindeditor语言文件去除选择题EF选项优化富文本内容显示样式优化内容图片点击放大监听优化试题题干答案等图片…

量化交易策略:定义及其重要性

量化交易是华尔街和硅谷的秘密结合点,在这里数学和算法与金钱和市场相遇。虽然它曾经是金融巨头的专属领域,但现在它比以往任何时候都更易于接触。 但不要被愚弄,量化交易仍然是一种高速、高压的游戏,在毫秒间可以赚到或失去财富…

nodepad 中换行符、tab替换

1 nodepad 主要符号 换行符: \r\n(windows) tab: \t 2 展示符号 3 相互替换 tip:需要点击扩展 参考: https://blog.csdn.net/lijing742180/article/details/85174564

商务英语培训柯桥外语学校生活口语“Rose”是玫瑰,那“Under the rose”是“玫瑰之下”?

最近,《玫瑰的故事》很火,女主角在剧中也经常收到黄色的玫瑰花。玫瑰花常常与爱情、美丽和浪漫相关,今天一起跟着英语君学习玫瑰花的俚语吧。 Under the rose 意思:私下地、秘密地或隐秘地。来自拉丁语短语sub-rosa,它…

EE5805-java-Lecture1 Introduction to java

暑期选择了java减轻下学期的课量,在本科期间就已经学过Java了,现在写一些笔记作为复习。 The Goal • To understand the Java runtime environment. • To know Java’s terminologies, advantages and characteristics. • To recognize the form of…

vi编辑器的常用方法

一、背景描述 在我们连接操作Linux服务器的时候,需要对其配置文件等内容进行一些增删改的操作,一般情况下我们直接使用Linux系统自带vi编辑器进行相应的操作,熟悉vi的常用功能对于我们编辑一些较大的文件效率能够有所提升,使用起来…

【设计模式】行为型-策略模式

策略模式,如春风吹过,随心所欲,变幻无穷,每一丝风都是一种选择。 文章目录 一、订单处理二、策略模式三、策略模式的核心组成四、运用策略模式五、策略模式的应用场景六、小结推荐阅读 一、订单处理 场景假设:有一个…

Python网络爬虫实战6—下一页,模拟用户点击,切换窗口

【前期提要】感兴趣的可以看看往期文章哈~ Python网络爬虫5-实战网页爬取 Python网络爬虫4-实战爬取pdf Pyhon网络爬虫3-模拟用户点击 Python网络爬虫实战2-下载url下的pdf Python网络爬虫基础1 1.需求背景 针对长虹美菱电器说明书网页形式,编写爬虫代码&#xff…

数通云网架构师涨薪班毕业都有哪些工作企业和岗位?

数通云网架构师涨薪班课程学完后,学员具备全行业全场景交付数通项目的能力,胜任企业网,广域网,数据中心网络等各种网络项目的交付能力,技术能力一项能够匹配年薪达30w-40w以上网络工程师岗位。 与誉天进行人才培养&…

Swagger2及常用校验注释说明

Api(value "后台用户管理") RestController RequestMapping("bossuser") public class BossUserController {ApiOperation(value "测试接口")PostMapping("test")public String testUser(Valid RequestBody TestUser user) {LOG.inf…

大数据------额外软件、插件及技术------Linux(完整知识点汇总)

Linxu 不同领域的主流操作系统 桌面操作系统 WindowsMAac OSLinux 服务器端操作系统 UNIX(付费)LinuxWindows Server(付费) 移动设备操作系统 Android(基于Linux开源)IOS(不开源) 嵌…