升压文档如下:
笔记
this 分配器使用的底层
singleton_pool
构造了一个永远不会被释放的池实例。这意味着分配器分配的内存在main()
完成后仍然可以使用,但可能意味着某些内存检查程序会抱怨泄漏。
我很困惑,因为我检查了代码并且singleton_pool
仍然似乎只在当前进程的堆上创建。即如果该进程被操作系统杀死,这样的池无论如何都会被释放?那么上面的注释仅仅意味着如果某个守护线程继续运行并且这样的池在main()之后仍然可用?或者它实际上意味着即使在整个过程被杀死后也不会释放池?
在我看来,两者pool_allocator
都fast_pool_allocator
使用相同的机制来分配内存,即从这样的singleton_pool
单例中分配内存。但是,此注释未指定用于fast_pool_allocator
. 对于上面的这样一个注释,我认为它们的行为相同。我对么?
请帮忙。谢谢。