标签:ref vector 方法 oca list 应该 异常 lin 析构函数
池分配是一种非常快速的内存分配方案,但其使用受到限制。有关池分配的更多信息(也称为简单隔离存储,请参阅 池化概念和简单隔离存储)。
使用池可以更好地控制程序中内存的使用方式。例如,您可能希望在一个点上分配一堆小对象,然后到达程序中的某个点,不再需要它们。使用池接口,您可以选择运行它们的析构函数,或者只是将它们丢弃为遗忘; 池接口将保证没有系统内存泄漏。
当存在大量小对象的分配和释放时,通常使用池。另一种常见用法是上面的情况,其中许多对象可能会从内存中丢失。
通常,当您需要更有效的方法来执行异常内存控制时,请使用池。
pool_allocator
是一种更通用的解决方案,旨在有效地处理对任意数量的连续块的请求。
fast_pool_allocator
也是一种通用解决方案,但其目的是有效地为一个块的请求提供服务; 它适用于连续的块,但不如pool_allocator
。
如果您严重关注性能,在处理类似std::list
容器时使用fast_pool_allocator
,并在处理类似std::vector
的容器时使用pool_allocator
标签:ref vector 方法 oca list 应该 异常 lin 析构函数
原文地址:https://www.cnblogs.com/gardenofhu/p/10068504.html