Как освободить память по указателю 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);