Поделиться через


Удаление CObject::operator

Для версии выпуска библиотеки, оператор удалить освобождает память, выделенную оператором новый.

void PASCAL operator delete( 
   void* p  
); 
void PASCAL operator delete( 
   void* p,
   void* pPlace 
); 
void PASCAL operator delete( 
   void* p, 
   LPCSTR lpszFileName, 
   int nLine  
);

Заметки

В отладочной версии, оператор удалить участвует в схеме распределение- наблюдения конструированной для обнаружения утечек памяти.

При использовании линию кода

#define new DEBUG_NEW

прежде чем какая-либо из конкретных реализаций в cpp-файле, затем третья версия удалить будут использоваться, храниться имя файла и номер линии в блоке для последующего создания отчетов. Не следует беспокоиться о указания дополнительных параметров; макрос позаботится о то автоматически.

Даже если не используется DEBUG_NEW в режиме отладки, то все равно получить обнаружение утечек, но без отчета о числа линии исходного файла, описанной выше.

При переопределении операторов новый и удалить, то создается диагностическая forfeit эту возможность.

Пример

См. перечисление CObList::CObList для класса CAge, используемого в примерах CObject.

void CAge::operator delete(void* p)
{
   free(p);
}

void CAge::operator delete(void *p, LPCSTR lpszFileName, int nLine)
{
   UNREFERENCED_PARAMETER(lpszFileName);
   UNREFERENCED_PARAMETER(nLine);
   free(p);
}

Требования

Header: afx.h

См. также

Ссылки

Класс CObject

Диаграмма иерархии

Новое CObject::operator