第11章 作用域守卫模式

本章介绍的模式可以看作是我们之前学习的RAII惯用法的一种推广。它最早是一种古老而成熟的C++模式,但也特别受益于C++11、C++14和C++17中新增的语言特性。我们将见证随着语言功能的增强,这一模式的演进过程。ScopeGuard模式存在于声明式编程(说明希望发生什么,而不是如何实现)与错误安全程序(尤其是异常安全)的交汇点。在完全理解ScopeGuard之前,需要对这两方面都有所了解。

本章将涵盖以下主题: