认知颠覆 · COGNITIVE OVERTURN
异常安全不是二元的——它是一个承诺的层级
很多开发者认为"异常安全"就是"加try/catch"。实际上异常安全是一个三级承诺体系——基本保证(不崩溃)、强保证(完全回滚)、不抛出保证(绝不抛异常)。不同的组件和操作应该承诺不同级别,混淆这些级别会导致要么过度工程、要么安全性不足。
来自这本书的解读报告
《C++标准库(The C++ Standard Library: A Tutorial and Reference》
这本书回答了如何正确高效使用C++标准库的问题,答案是理解其底层设计模式而非死记API
阅读完整解读报告 →