如何通过指针a(放置新的)释放内存?

时间:2017-04-28 17:57:31

标签: c++ delete-operator placement-new

我无法理解如何通过指针a

正确释放内存
MemoryManager mm;
char* a = new(mm) char[len];

1 个答案:

答案 0 :(得分:0)

您只需调用析构函数(如果需要)并释放内存管理器

// Deallocate memory
MemoryManager.free(a);

或者,您可以为自定义分配器定义删除操作符:

void operator delete(void *ptr, const MemoryManager &m) {...}
...
operator delete(a, mm);