我想以派生自的类的形式使用一些符合 C++ std 标准的内存管理std::allocator,但能够分配内存块并在较小的部分中释放和释放它们。我只找到了 boost::pool,但这在上述意义上不符合标准。周围有什么更有用的,还是我必须自己编写代码?
(请注意,std::allocator对于分配许多小对象,即使用 . 时,通常是无用的std::list。)
编辑澄清。
说,我想使用std::list许多小对象中的一个,然后std::allocator分配每个对象的实现使用::new会导致运行时的显着开销(但我认为还有内存)。分配大块对象并一一分发会效率更高。为此,我需要一个std兼容的分配器(不需要派生自std::allocator,但必须实现相同的概念),它可以与任何std库容器一起使用并提供所需的内存管理,理想情况下允许我告诉它有多少个对象我可能会单独分配。