学习路径:四个层次
九大主题自底向上:先掌握语法与内存模型,再学 OOP 与 STL 表达算法,然后进入模板与并发,最后用构建、测试与性能把系统推向生产级。
语法与内存
类型、引用、const、RAII、智能指针与所有权,理解值语义与资源管理。
OOP 与 STL
类、继承、多态,以及容器、迭代器与算法组成的泛型标准库。
模板与并发
泛型编程、concepts、编译期计算,以及线程、锁与原子操作。
构建与性能
CMake 构建、GoogleTest 测试、缓存友好与向量化等性能优化。
九大主题
每一章都是一份完整的知识地图:概念讲解、代码示例、常见陷阱、实战练习与延伸资源。
语法基础BASICS
类型、控制流、函数、引用、const、命名空间与编译模型。
02面向对象OOP
class、构造/析构、继承、多态、虚函数与 RAII。
03STL 标准库STL
容器、迭代器、算法、string 与 vector/map/unordered_map。
04内存管理MEMORY
new/delete、智能指针、栈与堆、内存泄漏与 valgrind。
05并发编程CONCURRENCY
thread、mutex、atomic、future、condition_variable。
06模板与泛型TEMPLATES
template、SFINAE、concepts、模板特化与编译期计算。
07构建与 CMakeBUILD
编译链接模型、头文件、Makefile、CMake 与库管理。
08测试TESTING
GoogleTest、Catch2、mock、覆盖率与 TDD 实践。
09性能优化PERFORMANCE
缓存友好、move 语义、向量化、profiling 与 benchmark。
推荐的使用方法
准备工具链
安装 g++/clang(支持 C++17/20)与 CMake,熟悉编译命令与 IDE 调试。
按序阅读,边读边编
每章示例都可直接编译运行。建议每章建一个独立文件,把示例逐一跑通。
完成章末练习
章末实战清单是检验掌握程度的标准。完成练习比多读一遍文档更有价值。
做自己的项目
把第五至九章改造成你领域内的工具/服务,用构建、测试与性能打磨成可交付代码。
环境准备
本手册基于 C++17(并涉及 C++20 特性)。推荐用 g++ 11+/clang 14+ 或 MSVC 2019+,配合 CMake 管理构建。
# 1. 编译单个文件(开启警告与现代标准)
g++ -std=c++20 -Wall -Wextra -O2 main.cpp -o main
./main
# 2. 安装 CMake(Ubuntu 示例)
sudo apt install build-essential cmake
# 3. 用 CMake 构建
cmake -B build && cmake --build build-Wall -Wextra 能抓出大量隐患。把警告当错误(-Werror)养成习惯,但库代码需甄别。
新项目直接用 C++20,享受 concepts、std::span、范围库等现代特性;维护旧项目时按既有标准。