01认识headers、版本、重要资源

泛型编程:即使用Template,而STL就是使用了泛型编程

重要资源,编程能用到reference
另一个网站,将STD的内容已经分为了六大类

另一个

p2 STL体系结构基础介绍

注意容器的 c.end()指的是容器末端后一个的位置,因此你如果根据end去寻内容会出错: == *(c.end()) ==
遍历容器:

== c++11新的for范围loop==

decl:声明 coll: 容器 你可以放STL的任何容器,也可以放想i数组这样一个聚合体
elem的类型就是iterator类型,相当于int,太长用auto代替, 然后就可以取出vec中的每一个元素出来

p3 容器分类及测试(array)


容器分类,顺序容器,关联容器(红黑树,相当于二叉树,随着元素的添加,红黑树会一直保持左右的平衡,因此会帮你根据key值不断排序
而unordered 容器 不定序容器随着你加入新的值,不会自动排序,但是元素的位置会变,你只能通过key值来寻找)

p6 容器分类及各种测试

讲了multi-set, multi-Map, unordered_multiset等
关联容器,find某个key值或元素非常快,但是不适合遍历,因为随着元素的加入,元素在容器的位置发生了变化,红黑树的结构就是回了查找某个元素,这是它的用法

p22 map multimap深度搜索

set map与multimap是红黑树的结构,会自动根据key值排序
map:不能改key值,但其对应value可以改
multimap:不能通过 operate访问, map可以通过[]访问,如果通过[]访问的这个key没有,就会:见图片红色字母,if the key does not exist, a pair with that key is created using default values, which is then returned

网页:
https://www.bilibili.com/video/av45108908/?p=6

[侯捷]C++ STL 体系结构与内核分析--从平地到万丈高楼(数据结构)相关推荐

  1. STL体系结构与内核分析-2-STL体系结构基础介绍(侯捷)--笔记

    STL体系结构与内核分析(侯捷) 2.STL体系结构基础介绍 STL设计方式与OO(面向对象)不同的地方,OO鼓励数据和处理数据的方法都放在类里,而STL的数据在容器里,操作数据的方法在其他部件里(模 ...

  2. C++ STL 体系结构与内核分析 P8-P15(list源码,迭代器设计原则)

    C++ STL 体系结构与内核分析 P8-P15 OOP(面向对象编程)和GP(泛型编程) 操作符重载 分配器allocators 容器之间的实现关系与分类 深度探索list(双向链表) 迭代器设计原 ...

  3. 侯捷C++ STL体系结构与源码剖析:关于moveable的说明

    vector体积二倍增长,需要挪到另外一个空间进行构造,所以虽然insert进行300万次,而构造的动作有700多万次. list一个萝卜一个坑,所以构造的次数和insert一样.一个一个节点式的容器 ...

  4. 【侯捷】C++内存管理从平地到万丈高楼(前11节学习笔记)

    文章目录 2 内存分配的每一个层面 3 4个层面的基本用法 4.基本构件之一new delete expression(上) 5.基本构件之一newdelete expression(中) 7.Arr ...

  5. STL(C++标准库,体系结构及其内核分析)(STL源码剖析)(更新完毕)

    文章目录 介绍 Level 0:使用C++标准库 0 STL六大部件 0.1 六大部件之间的关系 0.2 复杂度 0.3 容器是前闭后开(左闭右开)区间 1 容器的结构与分类 1.1 使用容器Arra ...

  6. 侯捷 C++系列课程视频 | 侯捷 C++ STL 视频

    侯捷C++课程视频课程一直都被看过的同学广为推荐,今天晚上发现 B 站关于侯捷老师的 C++ 课程视频几乎全部被下架了. 所以在网上找了下资源,找到了一套还算比较齐全的. 包含了 : 侯捷C++ 标准 ...

  7. 【学习笔记】C++内存管理-侯捷

    文章目录 C++内存管理:从平地到万丈高楼 一.primitives-基础工具 1.内存分配的四个层面 2.new/delete表达式 2.1 new表达式 2.2 delete表达式 学习笔记源自博 ...

  8. 【侯捷】C++STL标准库与泛型编程(第一讲)

    前言 所谓Generic Programming(GP,泛型编程),就是使用 template(模板)为主要工具来编写程序.本课程第二讲开宗明义阐述了 GP 与 OOP(Object Oriented ...

  9. 侯捷C++八部曲笔记(五、内存管理)

    侯捷C++八部曲笔记(五.内存管理) 表达式new.delete 基本用法 array new.array delete replacement new ----------------------- ...

最新文章

  1. WCF - Session 剖析
  2. ruby Encoding
  3. Python 百度面试题
  4. python 显示html_如何使用python在本地显示带有html表单的网...
  5. 月赛 SX_ACM 惨痛教训
  6. 获取3的倍数_植物分类的基础——获取广泛来源的资料【乱翻书】
  7. pycharm 激活方法分享(有效期至2099)
  8. 完美解决IE6中fixed抖动问题的方法
  9. python qt gui与数据可视化编程 pdf_《Python Qt GUI与数据可视化编程》第13章
  10. Elf精灵飞控系统V1.0-太空工程师
  11. json格式的php文件怎么打开,json格式是什么?json格式文件怎么打开?
  12. SuSE Linux 9.1 Pro + 永中Office2004简单评测
  13. Vsphere平台虚拟机vmdk文件丢失重建
  14. h3c交换机重启_h3c交换机重置命令_h3c交换机如何初始化
  15. linux 流量控制
  16. 数字兆欧表的使用及安全注意事项
  17. Ubuntu22.04 用 `hwclock` 或 `timedatectl` 来设置RTC硬件时钟为本地时区
  18. VHDL设计一个同步置数、异步清零的D触发器
  19. 微信开发系列 — — 微信模板消息
  20. 常见的测试用例设计方法7---因果图法

热门文章

  1. 免费web服务器Tomcat
  2. Jmeter报错Couldn‘t save test plan to file
  3. Windows系统复制文件到虚拟机Linux环境的解决
  4. win10 声音设置
  5. [Windows 10](Windows 10 解决开机小键盘灯不亮)
  6. 赠书 002丨文化改变脑,是玄学?
  7. mysql错误编号2058_SQLyog连接MySQL时出现的2058错误解决方法
  8. vue 安装(看图就够了,皮卡皮卡)
  9. android fastboot原理,Android 手机进入不了fastboot模式的解决方案
  10. 计算机重启后e盘没了,Win10电脑怎么隐藏磁盘分区?