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


Новое CObject::operator

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

void* PASCAL operator new( 
   size_t nSize  
); 
void* PASCAL operator new( 
   size_t, 
   void* p  
); 
void* PASCAL operator new( 
   size_t nSize, 
   LPCSTR lpszFileName, 
   int nLine  
);

Заметки

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

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

#define new DEBUG_NEW

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

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

Примечание

При переопределении этого оператор, то также необходимо переопределить удалить.Не используйте стандартные функции _new_handler библиотеки.

Пример

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

void* CAge::operator new(size_t nSize)
{
   return malloc(nSize);
}

void* CAge::operator new(size_t nSize, LPCSTR lpszFileName, int nLine)
{
   UNREFERENCED_PARAMETER(lpszFileName);
   UNREFERENCED_PARAMETER(nLine);
   return malloc(nSize);
}

Требования

Header: afx.h

См. также

Ссылки

Класс CObject

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

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