文档目录
C++ STL 与模板技术
容器底层内存布局、移动语义、智能指针与模板元编程,直到 C++20 Concepts 与 Ranges。
很多初学者觉得这一块概念混乱(又是左又是右),是因为大多数教程只教你“在等号左边的是左值,右边的是右值”。这种民间说法在面对复杂的 C++11 表达式时会瞬间崩溃。
我们要想彻底搞懂它,必须用底层的物理视角——即“内存地址”和“生命周期”来重新审视它们。
先从移动语义与完美转发讲起:它决定了「零拷贝」到底怎么发生,也是后面容器内存布局、unique_ptr 与模板技巧的共同前提。
章节目录
- 三大主流容器的底层内存布局与 CPU 缓存表现 很多C++使用者对容器的了解停留在"调API"层面——会用 push_back、insert、find 就觉得够了。但在高性能场景下,容器的内存布局直接决定 …
- 移动语义与完美转发
- 智能指针与无锁并发的物理交织 智能指针不是"语法糖"——它们是有运行时成本的。理解它们的物理内存布局和原子操作开销,是写出高性能 C++ 的前提。
- 模板元编程(Template Metaprogramming) 模板元编程让编译器在编译期执行计算。理解它不是为了写花哨代码,而是为了写出高性能、零运行时开销的泛型库。
- 高级模板技巧——CRTP、Variadic Templates 与 Fold Expressions 前四阶段讲的是"语法层面的模板"。这一阶段讲的是"实战中的模板设计模式"——不是让你背语法,而是让你知道什么时候用什么技巧,解决什么问题。
- C++20 Concepts 深度实战
- C++20 Ranges & Views 管道式编程
- 分配器(Allocator)与自定义内存管理
- 现代 C++ 实用数据结构与工具