01
STL总览与六大组件
容器、算法、迭代器、仿函数、适配器、分配器的概念与关系。
全景基础
02
空间配置器 (allocator) 剖析
一级配置器与二级配置器,内存池与自由链表。
内存allocator
03
迭代器与Traits编程技法
迭代器类型、萃取机制、iterator_traits。
traits核心
04
序列式容器 vector 深度解析
动态数组内存管理、push_back与insert源码。
vector动态数组
05
序列式容器 list 深度解析
双向链表结构、sort算法与transfer操作。
list链表
06
序列式容器 deque 深度解析
分段连续空间、中控器 (map) 与迭代器设计。
deque双端队列
07
stack 与 queue 适配器
基于deque的封装与源码实现。
适配器stackqueue
08
priority_queue 与 heap算法
make_heap、push_heap、pop_heap。
堆优先级队列
09
set/multiset 红黑树实现
红黑树节点结构、插入与旋转。
红黑树set
10
map/multimap 红黑树实现
operator[]的巧妙实现与源码。
mapoperator[]
11
哈希表 (hashtable) 底层实现
桶与链表、哈希函数、冲突解决 (开链法)。
哈希开链
12
unordered_set/map 剖析
基于hashtable的封装与迭代器。
无序哈希容器
13
算法概览与分类
质变与非质变算法、STL算法设计理念。
算法分类设计
14
非质变算法 find/count/search
find、find_if、search、count源码。
查找非质变
15
质变算法 copy/fill/swap
copy极致优化 (memmove)、fill与generate。
copy优化
16
排序算法 sort/stable_sort/partial_sort
intro_sort混合排序策略。
排序intro_sort
17
二分查找算法 lower_bound/upper_bound/binary_search
实现与边界处理。
二分边界
18
数值算法 accumulate/adjacent_difference/inner_product
numeric头文件。
数值accumulate
19
仿函数与函数对象
less、greater、plus等内建仿函数。
仿函数函数对象
20
适配器之函数适配器
bind1st、bind2nd、not1、not2。
bind适配器
21
适配器之容器适配器
back_insert_iterator、front_insert_iterator。
插入迭代器适配器
22
适配器之迭代器适配器
reverse_iterator、istream_iterator。
反向迭代器流迭代器
23
std::string 源码浅析
COW (写时复制) 与 SSO (小字符串优化)。
stringCOWSSO
24
std::pair 与 std::tuple
结构体与元组的实现与tie解包。
pairtuple
25
std::function 与 std::bind
可调用对象的封装与参数绑定。
functionbind
26
std::shared_ptr 源码剖析
引用计数、控制块与make_shared。
shared_ptr引用计数
27
std::unique_ptr 与 std::weak_ptr
独占所有权与循环引用解决。
unique_ptrweak_ptr
28
异常安全与STL
异常安全保证级别、容器在异常下的行为。
异常安全保证
29
STL性能优化与陷阱
迭代器失效场景、内存碎片、reserve与shrink_to_fit。
性能陷阱
30
自定义STL兼容容器 MyVector
实现符合STL规范的容器 (迭代器、分配器)。
实战MyVector