14.5. 总结

这是一个内容丰富的章节,不是吗?

在第12章和第13章探讨了显式与隐式内存分配实现之后,本章深入研究了分配器(allocators)以及这些机制如何让我们根据需求定制容器中的内存分配行为。

我们了解了传统的分配器是如何在其所嵌入的容器类型中实现并使用的。分别在一个使用连续内存的容器以及一个基于节点的容器中进行了实践。还回顾了编写(和使用)这类分配器的任务是如何经过多年发展,演变为如今基于特性(traits-based)的分配器模型,它能够为大多数分配器服务隐式地合成默认实现。

接着,我们探讨了较新的 PMR 分配器模型,它代表了对内存分配的另一种设计思路,并分析了它的优缺点。有了本章的知识,应该已经对如何定制容器以满足特定需求有了自己的思路。

我们即将完成这次探索之旅。在下一章(也是最后一章)中,将探讨 C++ 中内存分配的一些现代问题,并开始思考在不久的将来可能面临的挑战。