跳到正文

C++

C++ 语言

面向对象只是起点;资源管理、模板、对象模型和版本演进才是 C++ 的主战场。

12 / 12 已发布 12 篇

基础 4 节

01

从 C 到 C++:引用、const 与重载

  • 引用与指针的取舍
  • const 的正确摆放位置
  • 函数重载与默认参数的陷阱
  • 命名空间、inline 与链接性
  1. 从 C 到 C++:引用、const 与重载
02

类与封装

  • 构造/析构顺序与初始化列表
  • 拷贝构造、赋值与自赋值
  • static 成员与类常量
  • explicit、delete 与构造约束
  1. 类与封装
03

继承与多态

  • 虚函数、override 与 final
  • 抽象类与接口式写法
  • 名字隐藏与重载的区别
  • 虚析构为什么必须有
  1. 继承与多态
04

常用标准库入门

  • string/vector/map 的复杂度
  • 范围 for 与迭代器失效
  • algorithm 常用件(sort/find/copy)
  • 结构化绑定与 auto 的边界
  1. 常用标准库入门

进阶 5 节

05

RAII 与Rule of 0/3/5

  • 用对象生命周期管资源
  • 三法则/五法则/零法则
  • swap 与强异常保证
  • 自定义 deleter 与句柄封装
  1. RAII 与资源管理实战
06

移动语义与完美转发

  • 左值/右值/将亡值分类
  • std::move 到底做了什么
  • 移动构造的合法状态
  • 万能引用与 std::forward
  1. 移动语义与完美转发
07

智能指针与所有权

  • unique_ptr 的独占语义
  • shared_ptr 引用计数与控制块
  • 循环引用与 weak_ptr
  • 什么时候该继续用裸指针
  1. 智能指针与所有权
08

模板与泛型

  • 函数模板与类模板
  • 特化、偏特化与重载决议
  • SFINAE 与 enable_if
  • concepts 约束模板参数
  1. 模板与泛型
09

STL 容器与迭代器体系

  • 六大容器族与选择依据
  • 迭代器类别与性能含义
  • 分配器与容器扩展点
  • emplace 与就地构造
  1. STL 容器与迭代器

高级 3 节

10

C++11→23 特性时间线

  • 每个版本解决了什么问题
  • constexpr 与 consteval 演进
  • ranges、coroutines、modules
  • 用特性测试宏做兼容
  1. C++11 到 C++23 特性时间线
11

对象模型与内存布局

  • 虚表、虚指针与调用开销
  • 多继承与虚继承的对象布局
  • 空类优化与成员对齐
  • 从汇编看一次虚函数调用
  1. 对象模型与内存布局
12

异常与错误处理策略

  • 异常安全等级
  • noexcept 与栈展开代价
  • 错误码/expected/异常怎么选
  • 禁用异常的项目如何设计
  1. 异常与错误处理策略