C++ 八股

语言基础、模板与泛型、STL、内存管理、对象模型与多态、并发编程、编译链接

这里直接按专题组织,不再额外包一层 专题/ 目录。

专题导航

使用方式

  • 先从专题 README.md 看整体框架和复习顺序
  • 再按子主题逐个击破,优先掌握“高频问法 + 典型陷阱 + 代码解释”
  • 每篇子文档统一按这套结构写:
    • 面试回答(核心概念 + 典型示例)
    • 面试追问(继续深挖的方向)
    • 原理展开(底层机制 + 代码演示)
    • 易错点(常见陷阱 + 注意事项)
    • 记忆技巧(快速记忆口诀)

本次扩充重点

这次扩充以“面试高频核心题”为准,不追求冷门大全,重点补齐以下缺口:

  1. 语言基础中的作用域、存储期、链接属性,以及 constinit / consteval
  2. 模板中的可变参数模板、类型萃取与 traits
  3. STL 中的容器选型、迭代器规则、算法库配合
  4. 内存管理中的 new/deleteplacement new、对齐、异常安全
  5. 对象模型中的继承细节、对象切片、RTTI、多重继承与虚继承
  6. 并发中的线程生命周期、异步模型、死锁规避
  7. 编译链接中的头文件保护、模板编译模型、ABI、静态初始化顺序、CMake

专题概览

01-语言基础(12个子主题):

  • 值类别与移动语义、指针引用、const / constexpr
  • auto / decltype、初始化、static、作用域与链接属性
  • 类型转换、explicit、函数规则、lambda、constinit / consteval

02-模板与泛型(5个子主题):

  • 模板实例化与特化、完美转发与引用折叠、SFINAE 与 concept
  • 可变参数模板、类型萃取与 traits

03-STL与迭代器(6个子主题):

  • vector 扩容与迭代器失效、unordered_map 与哈希冲突、红黑树与关联容器
  • 迭代器分类与失效规则、常用容器对比与选型、STL 算法与仿函数

04-内存管理(6个子主题):

  • 栈与堆、RAII、智能指针与循环引用
  • new/deleteplacement new、内存对齐、异常安全

05-对象模型与多态(7个子主题):

  • 虚函数表与动态绑定、对象大小与内存布局、拷贝控制与特殊成员函数
  • 继承访问控制与对象切片、override / final 与重写隐藏
  • RTTI、多重继承与虚继承

06-并发编程(6个子主题):

  • 互斥锁与条件变量、原子变量与内存序、线程池设计
  • 线程生命周期、future / promise / async、死锁与锁顺序

07-编译链接与构建(8个子主题):

  • 编译到链接流程、静态库与动态库、ODR 与 inline
  • 头文件保护、模板与头文件、ABI 与符号可见性
  • 静态初始化顺序问题、CMake 基础

现在这套目录更接近“高频面试题库”,可以直接按专题复习,也可以按追问链条横向串联。