我们在C++内存管理领域的探索正逐步深入。
第7章探讨了重载operator new()和operator delete()(及其数组版本)的各种语法形式,第8章则基于这种重载能力开发了一个实际应用案例 —— 内存泄漏检测器。这虽然是个良好的开端,展示了相关知识的实用价值,但有读者可能(理所当然地)会思考:掌控内存管理机制还能实现哪些更强大的功能?
本章将呈现与以往不同的内容结构。我们将通过一组非穷尽的示例,展示掌控C++内存分配函数所能带来的多样化收益,具体包括:
如何利用placement new高效驱动内存映射硬件
通过operator new()的nothrow版本简化错误处理
安装并使用std::new_handler更优雅地应对内存耗尽场景
借助标准C++机制处理共享内存/持久内存等非常规内存
通过本章学习,将对C++基础内存分配设施的潜力形成更全面的认知。后续章节将回归专题性探讨,包括第10章的内存池分配、第11章的延迟回收,以及容器与分配器对内存的控制机制。