什么是Boost.Pool?
Boost Pool 是一个库,其中包含一些用于管理内存的类。虽然 C++ 程序通常使用 new 来动态分配内存,但如何提供内存的细节取决于标准库和操作系统的实现。例如,使用 Boost.Pool,您可以加速内存管理以更快地为您的程序提供内存。
Boost.Pool 不会改变新系统或操作系统的行为。 Boost.Pool 之所以有效,是因为首先从操作系统请求托管内存——例如使用 new。从外面看,你的程序已经分配了内存,但在内部,内存还不是必需的,交给 Boost.Pool 来管理。
Boost.Pool 以相同大小对内存段进行分区。每次您从 Boost.Pool 请求内存时,库都会访问下一个空闲段并将该段中的内存分配给您。然后将整个段标记为已使用,无论您实际需要该段的多少字节。
这种内存管理概念称为简单隔离存储。这是 Boost.Pool 唯一支持的概念。如果必须经常创建和销毁许多相同大小的对象,则它特别有用。在这种情况下,可以快速提供和释放所需的内存。
Boost.Pool 提供类 boost::simple_segregated_storage 来创建和管理隔离内存。 boost::simple_segregated_storage 是一个低级类