可以在此处的GitHub库中找到本章的代码文件:https://github.com/PacktPublishing/C-Plus-Plus-Memory-Management/tree/main/chapter14
与第 13 章一样,本章将展示一些不完整的示例,以避免与之前(尤其是第 12 章)出现的代码片段重复。分配器(allocators)改变了容器与内存管理机制交互的方式,但并不要求我们完全重写容器,无论内存如何管理,为特定容器编写的大量代码都可以保持稳定。当然,在 GitHub库中找到的代码是完整的。
另外请注意,本章是在容器的背景下讨论分配器的,但这一概念可以扩展到许多需要动态分配内存的类型。有时这种扩展并不容易;例如,在 C++17 中,std::function 对分配器的支持移除了,没有一个已知的标准库实现成功地使其正常工作。尽管如此,分配器可以视为一种通用的思想,而不仅限于容器使用,也可以设想在其他上下文中应用分配器。