在list类中,因为list底层使用的是带头结点的双向循环链表,所以list这个容器的迭代器既有++操作,又有--操
作,但是对于forward list来时底层是单链表,所以模拟实现的时候只有迭代器只有++操作,没有--操作,所以迭
代器一定要视情况而定。
在类中给迭代器取别名,例如typedef  ---->这样做的目的是为了在更多的容器中统一接口

我们自己实现的迭代器也存在失效问题

 iterator erase(iterator pos){Node* pCur = pos._pCur;if (pCur == first)return end();Node* pres = pCur->_next;pCur->_prv->_next = pCur->_next;pCur->_next->_prv = pCur->_prv;delete pCur;return iterator(pres);}

vector和list的区别:
也就是在问顺序表和链表的区别:

deque:双端队列

deque容器中的迭代器一个迭代器中有四个指针:分别是标记当前内存块的起始位置(first)末尾(last)下一个插入元素的位置(cur)以及在map中的节点地址。

栈和队列的底层就是用双端队列实现的。
对于自定义的容器要想实现范围for那么就需要提供begin()和end()方式,因为范围for就是要在编译阶段确定下来你所要遍历的范围 ,begin()和end()刚好提供了这种方法

编译器会自己将范围for转换为普通的for循环
C++中const类型的引用既可以引用普通类型的引用,也可以引用const类型的引用

int a = 10;
int& b = a;
const int& c = a;const int d = 10;
const int& e = d;
//int& f = d; 出错

数据结构:栈(数据结构中一种后进先出的数据结构)
内存:栈(一种内存空间),只是内存空间所表现出来的特性和数据结构中的栈一样

技巧:ctrl + t可以交换两个字母
shift + 3 可以在vs底下直接跑到代码的末尾

栈和的队列没有迭代器,因为不需要遍历

C++小工进阶之路 XV(list总结以及deque介绍)相关推荐

  1. 从混沌到有序的远程办公进阶之路

    点击观看大咖分享 抗击疫情,腾讯云在行动.为保证疫情之下员工的安全,国内启动了有史以来最大规模的远程办公.由于来的突然,很多企业和个人无论是从心态还是基础设施层面都没有做好远程办公的准备, 本次分享就 ...

  2. 一个java高级工程师的进阶之路【转】

    一个java高级工程师的进阶之路[转] 宏观方面 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) ...

  3. python处理pdf实例_Python实战-从菜鸟到大牛的进阶之路pdf_Python教程

    资源名称:Python实战-从菜鸟到大牛的进阶之路 pdf 第1章 Python 处理 cassandra 升级后的回滚脚本 第 2 章 多套方案来提高 python web 框架的并发处理能力 第 ...

  4. 机器人建模中移动关节如何建立坐标系_机器人工程师进阶之路(八)指数积(PoE)建立机械臂模型及正运动...

    梁政:机器人工程师进阶之路(六)旋量法(上)​zhuanlan.zhihu.com 梁政:机器人工程师进阶之路(七)旋量法(下)​zhuanlan.zhihu.com 从上两篇我们可以了解到,利用旋量 ...

  5. Scala进阶之路-正则表达式案例

    Scala进阶之路-正则表达式案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 废话不多说,正则大家都很清楚,那在Scala如何使用正则了?我们直接上个案例,如下: 1 /* 2 ...

  6. Python 进阶之路 (九) 再立Flag, 社区最全的itertools深度解析(上)

    前言 大家好,今天想和大家分享一下我的itertools学习体验及心得,itertools是一个Python的自带库,内含多种非常实用的方法,我简单学习了一下,发现可以大大提升工作效率,在sf社区内没 ...

  7. 工程师进阶之路(二)

    转载自 量子恒道官方博客  地址:http://blog.linezing.com 工程师进阶之路 二 谈谈沟通能力--沟通的准则 如果一名工程师要成长为资深专家或者是架构师或者是技术管理者,沟通是必 ...

  8. Scala进阶之路-面向对象编程之类的成员详解

    Scala进阶之路-面向对象编程之类的成员详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Scala中的object对象及apply方法 1>.scala 单例对象 ...

  9. Python 进阶之路 (十二) 尾声即是开始

    Python进阶之路总结 大家好,我的<< Python进阶之路>>到这一期就到此为止了,和 <<Python 基础起步>>不同,在掌握了一些基础知识后 ...

最新文章

  1. 分享Spring中Bean的4种依赖检查模式
  2. python常用序列类型_Python基础-序列类型的常用方法
  3. Spring Boot 框架介绍和使用
  4. 蓝桥杯1427: -买不到的数目(百钱百鸡问题变体)
  5. dotNet基于office实现word转pdf
  6. 全外显子数据分析流程
  7. xlsx表格怎么做汇总统计_excel考勤统计表汇总怎么做
  8. 如何将pdf文件转换成图片格式,插入到word中
  9. python登录代码_python自动登录126等邮箱的代码
  10. Win7下安装swoole具体步骤
  11. DASCTF X CBCTF 2022九月挑战赛 dino3d
  12. 八戒帮扶V5微信公众平台任务系统完美运营v1.5.8
  13. 什么是PE,PE有什么意义?
  14. 数据分析(1):对比分析法
  15. ubuntu 16.04上radvd起不来
  16. chrome.exe(或其他exe)- 损坏的映像
  17. html 获取声音频谱,[前端]利用WebAudioAPI获取音频频谱(html5音频可视化)
  18. 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I
  19. SQL SERVER 如何调试存储过程
  20. layui实现文件压缩上传_基于SSM框架、Layui的多文件上传、包括图片,压缩包,音频等文件(与数据库挂钩) - 爱秧博客...

热门文章

  1. 易经八卦在程序世界中的体现
  2. 计算机科学与技术实验题代做,计算机科学与技术专业代写(本科)毕业设计(论文)要求...
  3. 台式计算机机箱有几种,推荐几款台式电脑机箱 个性鲜明
  4. sql 获取某年 某月的数据
  5. USB设备插入和拔出的波形
  6. 人脸口罩识别的项目总结
  7. 【20181027T1】洛阳怀【推结论+线性筛+分解质因数+GCD性质】
  8. [小黄书管理平台]Angularjs 2.0应用的国际化
  9. 【SAP-CO】成本中心实际过账
  10. TeamViewer 连接后无法操作的解决方法