[侯捷]C++ STL 体系结构与内核分析--从平地到万丈高楼(数据结构)
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 体系结构与内核分析--从平地到万丈高楼(数据结构)相关推荐
- STL体系结构与内核分析-2-STL体系结构基础介绍(侯捷)--笔记
STL体系结构与内核分析(侯捷) 2.STL体系结构基础介绍 STL设计方式与OO(面向对象)不同的地方,OO鼓励数据和处理数据的方法都放在类里,而STL的数据在容器里,操作数据的方法在其他部件里(模 ...
- C++ STL 体系结构与内核分析 P8-P15(list源码,迭代器设计原则)
C++ STL 体系结构与内核分析 P8-P15 OOP(面向对象编程)和GP(泛型编程) 操作符重载 分配器allocators 容器之间的实现关系与分类 深度探索list(双向链表) 迭代器设计原 ...
- 侯捷C++ STL体系结构与源码剖析:关于moveable的说明
vector体积二倍增长,需要挪到另外一个空间进行构造,所以虽然insert进行300万次,而构造的动作有700多万次. list一个萝卜一个坑,所以构造的次数和insert一样.一个一个节点式的容器 ...
- 【侯捷】C++内存管理从平地到万丈高楼(前11节学习笔记)
文章目录 2 内存分配的每一个层面 3 4个层面的基本用法 4.基本构件之一new delete expression(上) 5.基本构件之一newdelete expression(中) 7.Arr ...
- STL(C++标准库,体系结构及其内核分析)(STL源码剖析)(更新完毕)
文章目录 介绍 Level 0:使用C++标准库 0 STL六大部件 0.1 六大部件之间的关系 0.2 复杂度 0.3 容器是前闭后开(左闭右开)区间 1 容器的结构与分类 1.1 使用容器Arra ...
- 侯捷 C++系列课程视频 | 侯捷 C++ STL 视频
侯捷C++课程视频课程一直都被看过的同学广为推荐,今天晚上发现 B 站关于侯捷老师的 C++ 课程视频几乎全部被下架了. 所以在网上找了下资源,找到了一套还算比较齐全的. 包含了 : 侯捷C++ 标准 ...
- 【学习笔记】C++内存管理-侯捷
文章目录 C++内存管理:从平地到万丈高楼 一.primitives-基础工具 1.内存分配的四个层面 2.new/delete表达式 2.1 new表达式 2.2 delete表达式 学习笔记源自博 ...
- 【侯捷】C++STL标准库与泛型编程(第一讲)
前言 所谓Generic Programming(GP,泛型编程),就是使用 template(模板)为主要工具来编写程序.本课程第二讲开宗明义阐述了 GP 与 OOP(Object Oriented ...
- 侯捷C++八部曲笔记(五、内存管理)
侯捷C++八部曲笔记(五.内存管理) 表达式new.delete 基本用法 array new.array delete replacement new ----------------------- ...
最新文章
- WCF - Session 剖析
- ruby Encoding
- Python 百度面试题
- python 显示html_如何使用python在本地显示带有html表单的网...
- 月赛 SX_ACM 惨痛教训
- 获取3的倍数_植物分类的基础——获取广泛来源的资料【乱翻书】
- pycharm 激活方法分享(有效期至2099)
- 完美解决IE6中fixed抖动问题的方法
- python qt gui与数据可视化编程 pdf_《Python Qt GUI与数据可视化编程》第13章
- Elf精灵飞控系统V1.0-太空工程师
- json格式的php文件怎么打开,json格式是什么?json格式文件怎么打开?
- SuSE Linux 9.1 Pro + 永中Office2004简单评测
- Vsphere平台虚拟机vmdk文件丢失重建
- h3c交换机重启_h3c交换机重置命令_h3c交换机如何初始化
- linux 流量控制
- 数字兆欧表的使用及安全注意事项
- Ubuntu22.04 用 `hwclock` 或 `timedatectl` 来设置RTC硬件时钟为本地时区
- VHDL设计一个同步置数、异步清零的D触发器
- 微信开发系列 — — 微信模板消息
- 常见的测试用例设计方法7---因果图法
热门文章
- 免费web服务器Tomcat
- Jmeter报错Couldn‘t save test plan to file
- Windows系统复制文件到虚拟机Linux环境的解决
- win10 声音设置
- [Windows 10](Windows 10 解决开机小键盘灯不亮)
- 赠书 002丨文化改变脑,是玄学?
- mysql错误编号2058_SQLyog连接MySQL时出现的2058错误解决方法
- vue 安装(看图就够了,皮卡皮卡)
- android fastboot原理,Android 手机进入不了fastboot模式的解决方案
- 计算机重启后e盘没了,Win10电脑怎么隐藏磁盘分区?