-
核心内容:
- 变量、基本数据类型(
int
,float
,char
,bool
)、复合类型(数组、结构体) - 运算符与控制流(
if
/else
、循环、switch
) - 函数基础(参数传递、返回值、重载)
- 输入输出(
iostream
、文件流) - 标准库初步:
std::string
,std::vector
(避免过早依赖裸数组) - 指针与引用(内存地址操作、引用作为别名)
- 变量、基本数据类型(
-
补充点:
- 引入
const
关键字(常量性保证) - 基本错误处理(
assert
与返回错误码)
- 引入
-
核心内容:
- 模块化设计:头文件(
.h
)与源文件(.cpp
)分离,头文件守卫(#pragma once
) - 函数式分解(高内聚、低耦合)
- 结构体与枚举(数据逻辑封装)
- 作用域规则(局部/全局/静态变量)
- 资源管理基础:
new
/delete
与内存泄漏风险
- 模块化设计:头文件(
-
调整建议:
- 移除异常处理(移至面向对象或现代C++层,因其需要RAII支持)
- 强调避免
goto
,但补充其在有限场景下的合理使用(如跳出多层循环)
-
核心内容:
- 类与对象(封装、抽象)
- 构造函数/析构函数、拷贝控制(三/五法则)
- 继承(接口与实现继承)、虚函数、多态(动态绑定)
- 运算符重载(语义一致性)
- 访问控制与友元
- 多态进阶:虚析构函数、纯虚函数与抽象类
-
补充点:
- 移动语义初步(C++11的移动构造函数/赋值,为现代C++铺垫)
- 对象生命周期管理(结合RAII思想)
-
核心内容:
- 函数模板与类模板(泛型函数/容器)
- 模板特化与偏特化(定制化类型处理)
- STL六大组件:容器、迭代器、算法、函数对象、适配器、分配器
- 迭代器分类与算法复杂度
- Lambda表达式(C++11,作为函数对象的补充)
-
调整建议:
- 将
constexpr
基础移至此处(泛型与编译期计算结合) - 强调STL设计哲学(泛型、效率、可扩展性)
- 将
-
核心内容:
- RAII范式:智能指针(
unique_ptr
,shared_ptr
,weak_ptr
) - 右值引用、移动语义、完美转发(
std::move
,std::forward
) - 异常安全(异常规范、
noexcept
) - 并发基础(
std::thread
,std::async
, 互斥量) - 内存模型(C++11原子操作与内存顺序)
- RAII范式:智能指针(
-
补充点:
- 范围for循环(
for (auto& x : container)
) - 类型推导(
auto
,decltype
) - 统一初始化(
{}
语法)
- 范围for循环(
-
核心内容:
- 内存管理深入(栈/堆分配、对齐、自定义分配器)
- 系统API调用(文件、进程、信号)
- 多线程同步(条件变量、读写锁、无锁编程)
- 网络编程(Socket、TCP/UDP、Boost.Asio)
- 性能分析工具(Valgrind、perf)
-
补充点:
- 嵌入式C++:寄存器操作、中断处理
- 编译器优化(内联、循环展开、SIMD指令)
-
核心内容:
- 模板元编程(TMP):递归实例化、类型计算
- SFINAE与
std::enable_if
- 变参模板(
template <typename... Args>
) - 类型萃取(
type_traits
) - C++20概念(
concepts
、requires
子句)
-
调整建议:
- 引入
constexpr
函数与if constexpr
(C++17) - 强调元编程在库开发中的实际应用(如Eigen、Boost)
- 引入
-
核心内容:
- 经典设计模式(工厂、观察者、策略、装饰器)
- C++特有模式:
- RAII(资源管理)
- PIMPL(接口与实现分离)
- CRTP(奇异递归模板模式)
- 组件化设计(插件架构、ECS模式)
- 依赖注入与单元测试
-
补充点:
- 领域驱动设计(DDD)在C++中的实践
- 大型项目结构(模块划分、构建系统)
-
核心内容:
- 跨语言交互:Python(PyBind11)、Rust(FFI)
- 异构计算:CUDA、OpenCL、SYCL
- WebAssembly:Emscripten编译链
- AI/机器学习:集成TensorFlow/PyTorch推理引擎
- 游戏引擎开发:渲染管线、物理引擎优化
-
补充点:
- 实时系统:低延迟、确定性响应
- 安全关键领域(MISRA C++规范、静态分析工具)
-
层级调整:
- 将异常处理移至现代C++层,与RAII结合讲解。
- 移动语义拆分为基础(面向对象层)与进阶(现代C++层)。
- Lambda表达式提前至泛型编程层,与STL算法结合。
-
内容补充:
- 强调C++标准演进(C++11/14/17/20特性分布)。
- 增加编译时计算(
constexpr
)的跨层级覆盖。 - 补充C++特有模式(如PIMPL、CRTP)。
-
逻辑连贯性:
- 从“结构化”到“面向对象”再到“泛型”,明确递进关系。
- 将“资源管理”贯穿现代C++与系统编程层,形成主线。
-
实用导向:
- 每层补充典型应用场景(如游戏开发、嵌入式、AI)。
- 强调工具链(调试器、分析工具)在各层的作用。
基础语法 → 结构化 → 面向对象 → 泛型/STL → 现代C++ → 系统编程 → 元编程 → 设计模式 → 跨领域集成
每个层级依赖前一层的知识,同时向更高抽象或更低底层扩展,形成螺旋上升的学习路径。