我想知道的很简单-如果我们创建一个DLL,用静态运行时编译它,而在它的代码中,我们将创建一个继承自std::allocator的简单分配器,我们有可能让N个不同的堆只使用这个库堆(一个有分配器的)来管理所有N个堆的内存吗?如何创建这样的分配器?
发布于 2012-01-27 05:08:06
在Windows下,可以创建私有堆。查看MSDN上的heap functions。但是,C++标准库分配器有一个无状态接口。因此,同一类型的两个分配器必须是可互换的(其中一个分配的内存可以由另一个释放)。
所以,是的,你可以做到这一点,但不能使用std::allocator。
https://stackoverflow.com/questions/9025307
复制相似问题