Как освободить память по указателю a (размещение нового)?

Я не могу понять, как правильно освободить память с помощью указателя

MemoryManager mm;
char* a = new(mm) char[len];

1 ответ

Решение

Вы просто вызываете деструктор (при необходимости) и освобождаете его от своего менеджера памяти

// Deallocate memory
MemoryManager.free(a);

Или вы можете определить оператор удаления для своего пользовательского распределителя:

void operator delete(void *ptr, const MemoryManager &m) {...}
...
operator delete(a, mm);
Другие вопросы по тегам