编写健壮的 C++ 代码,掌握正确的错误处理──异常、RAII 安全保证、和类型与防御性编程模式。
理解 C++ 异常机制──栈展开、标准异常层次结构、自定义异常,以及何时优先使用异常而非错误码。
学习异常安全的三个级别──基本保证、强保证和无抛出保证──以及 RAII 和 copy-and-swap 如何提供这些保证。
比较异常、错误码和 std::expected──学习每种方法的适用场景以及如何在构造函数、析构函数和多线程代码中处理错误。
使用 C++17/23 和类型来表示可空值、类型安全的联合体和值或错误的返回──在编译时消除整类错误。
利用 C++ 类型系统在编译时防止错误──强枚举、新类型模式、static_assert、运行时断言以及即将到来的契约特性。
了解什么是未定义行为、它为什么存在、编译器如何利用它进行优化,以及如何使用净化器和编译器警告来检测它。