11.6. 总结

本章带我们进入了延迟回收的领域,这对许多 C++ 开发者来说是一个相对陌生的领域。我们探讨了在程序的特定时间点成组回收对象的方法,讨论了在回收这些对象时可能面临的限制,并研究了在释放相关内存之前对对象进行终结(finalize)的各种技术。

现在,我们已经准备好研究内存管理如何与 C++ 容器交互,这是一个重要的主题,将在接下来的三章中详细展开。

事实上,可以编写那些显式管理内存的容器,但在一般情况下,这样做反而会适得其反(如果把 std::vector<T> 绑定到 new 和 delete,那么当某个类型 T 需要通过其他方式来进行内存分配和释放时,std::vector<T> 又该如何应对呢?)。

当然,实现这一目标的方式有很多种。想了解其中的一些方法吗?那就深吸一口气,让我们深入探索吧……