本章探讨了多种以非传统方式使用 C++ 内存管理机制的方法:
将对象映射到内存映射硬件上;
通过 nothrow 版本的 operator new() 集成基本的错误处理机制;
内存耗尽时通过 std::new_handler 做出响应;
利用对“标准”分配操作符的扩展,结合管理器对象访问非常规的、不可移植的内存服务。
这些内容让我们更全面地了解了 C++ 中的内存管理设施,以及如何巧妙地加以利用。
这里提到了“优化”这个话题,但尚未深入探讨:如何让内存分配变得非常快,甚至极快,并在特定条件下具有确定性的执行速度。这正是我们在 第 10 章 中将要讲解的内容:如何编写基于“内存池(arena-based)”的高效分配代码。
哦,对了,作为奖励,我们还会“屠杀 Orc(兽人)”哦!
Orcs(兽人)是许多幻想小说和游戏作品中常见的虚构生物,通常描绘为凶恶的怪物,作为敌人出现,而且它们与 Elves(精灵)这种声誉较好的虚构生物之间有着不太健康的关系。在过去几十年里,作为作者,我与许多游戏开发者有过合作,因此兽人常常出现在我的示例中,并将在第 10 章我们要编写的代码中扮演核心角色。
听起来不错吧?那我们就继续下一章吧!