解决什么问题:跳出“会调接口”,搞懂底层布局
很多做业务开发的人,对标准库的容器和算法用得很熟,知道什么场景调 sort、什么时候用 vector,但一旦遇到性能瓶颈,或者需要造一个贴合特定业务的轮子,就会卡壳。这门课解决的就是这个断层:它不教你如何快速调用现成接口,而是带你往底层走,看清楚不同数据结构在内存中的实际布局,理解它们的设计思想、空间时间开销,以及配套算法的运作机制。如果你在排查内存碎片、想压榨容器性能,或者需要写一套自己的定制化组件,这套底子能让你不再两眼一抹黑。
适合什么基础,建议怎么学和练
这不适合完全没写过 C++ 的新手。你得对指针、引用、面向对象有基本概念,平时能独立写点小程序。内容从泛型编程概念切入,讲类模板、函数模板、特化,然后重点拆解 STL 的实现。我建议你先看泛型概论和模板基础这几块,把类型推导的机制吃透;接着直接跳到 vector 的源码剖析和编码实现部分,跟着视频一行行敲。资料配合练习的方式很明确:不要只盯着视频看,看完一段底层实现,自己开个工程,照着把内存分配、push_back 扩容逻辑写一遍,跑通后再对比标准实现找差距。
学完能独立做什么
学完之后,你不至于立刻变成库作者,但能独立干几件实在事。首先是能看懂大部分 STL 源码,遇到诡异的编译报错或迭代器失效问题,能从底层实现层面找到根因。其次是能自己用模板造轮子:比如业务里需要一个固定内存池的 vector,或者一个针对特定类型优化的适配器,你能从零搭出来,而不是死等第三方库。这种能力在写基础架构组件、高性能模块时特别顶用,也能帮你把 C++ 的内存管理和泛型思维彻底打通。
教你了解不同数据结构在内存中的实际布局,学习不同的数据结构的设计思想、使用优缺点及配套使用算法。在我们精通STL后,可以自己用模板去设计实现自己的算法和数据结构。
课程目录
* 01 泛型编程概论.mp4 25:06
* 02 类模板基础使用.mp4 34:33
* 03 函数模板.mp4 30:40
* 04 模块实例化.mp4 50:10
* 05 模板函数特化.mp4 14:30
* 06 类模板和适配器.mp4 33:37
* 07 特化.mp4 01:42:07
* 08 STL概述.mp4 01:16:49
* 09 vs2015_Vector_Debug.mp4 58:25
* 10 VS2015_vector_pushback_Debug.mp4 43:29
* 11 SGI_vector_coding.mp4 02:11:09
* 12 种new.mp4 53:00
* 13 SGI_Vector2.mp4 01:17:03
* 14 SGI_Vector3.mp4 02:03:33
* 15 STL_config.mp4 01:54:18
* 16 SGI_alloc.mp4 01:46:54
* 17 作业指导.mp4 01:53:47
* 18 迭代器.mp4 25:05
* 19 算法及迭代器.mp4 01:51:12
* 20 容器及算法效率.mp4 02:19:07
* 21 作业及容器基本使用.mp4 01:43:27
* 22 非变动型算法.mp4 02:41:18
* 23 变动性算法.mp4 02:26:28
* 24 排序算法.mp4 02:09:49
* 25 迭代器分类.mp4 30:44
* 26 vector迭代器初始化.mp4 31:08
* 27 vector迭代器详解.mp4 59:29
* 28 list迭代器.mp4 53:14
* 29 序列容器总结.mp4 02:02:46
* 30 关联容器.mp4 02:02:34
* 31 hash容器.mp4 02:09:38
* 32 STL源码






