我刚看过std::allocator.在我看来,使用它而不是使用new和更复杂delete.
随着allocator我们必须明确分配堆内存,构建它,消灭它,然后终于解除分配内存.那它为什么会被创造出来?
在哪些情况下可以使用它何时应该使用而不是新的和删除?
我正在为应用程序创建一个插件,其中应该由应用程序分配内存并跟踪它.因此,应该以缓冲区的形式从宿主应用程序获取内存句柄,然后将它们返回给应用程序.现在,我正计划使用STL Vectors,我想知道它在内部使用什么样的内存分配.
它是否在内部使用"新"和"删除"功能?如果是这样,我可以用自己的函数重载'new'和'delete'吗?或者我应该创建自己的模板分配器,这对我来说看起来很困难,因为我没有创建自定义模板的经验.
欢迎任何建议/示例代码.可以从这样的应用程序中获取内存句柄
void* bufferH = NULL;
bufferH = MemReg()->New_Mem_Handle(size_of_buffer);
MemReg()->Dispose_Mem_Handle(bufferH); //Dispose it
Run Code Online (Sandbox Code Playgroud)