Exceptional C++ (draft中文版)

基本信息

  • 标题: Exceptional C++ (draft中文版)
  • 作者: Herb Sutter (原著), 侯捷 (译)
  • 页数: 80页
  • 大小: 964KB
  • 来源: /books/c++/Exceptional C++.7z
  • 处理日期: 2026-09-02
  • 方法: pdf-inspector文本提取

内容概要

这是Herb Sutter经典著作《Exceptional C++》的draft中文版,由侯捷翻译。本书聚焦C++异常安全性和编程陷阱,通过42个精心设计的问题和解答,帮助程序员深入理解C++的异常安全机制和常见错误。

核心主题

1. 异常安全性

  • 强异常安全保证
  • 基本异常安全保证
  • 不抛出异常保证

2. 资源管理

  • RAII(资源获取即初始化)模式
  • 智能指针的正确使用
  • 内存泄漏防范

3. 模板与泛型编程

  • 模板异常处理
  • 泛型代码的异常安全

4. 类设计与继承

  • 虚函数与异常
  • 构造函数中的异常处理
  • 析构函数不应抛出异常

关键要点

  1. 异常安全是C++编程的关键质量属性,需要在设计阶段就考虑

  2. RAII是实现异常安全的核心技术,通过构造器获取资源,析构器释放资源

  3. **拷贝交换惯用法(copy-and-swap)**是实现强异常安全赋值的经典模式

  4. nothrow swap是实现异常安全赋值的关键基础

  5. **异常规范(exception specification)**虽然被C++11废弃,但其思想仍然有价值

与其他知识的关联

推荐阅读顺序

  1. 先读《Effective C++》建立基础
  2. 再读本书深入异常安全
  3. 最后读《Effective Modern C++》了解C++11/14新特性