CObject::operator nuevo
Para la versión de lanzamiento de la biblioteca, el operador nuevo realiza una asignación de memoria óptima de una manera similar a 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
);
Comentarios
En la versión de depuración, el operador nuevo participa en un esquema de la asignación-supervisión diseñado para detectar pérdidas de memoria.
Si utiliza la línea de código
#define new DEBUG_NEW
antes de implementaciones cualquiera de los en un archivo de .CPP, la segunda versión de nuevo se utilizará, almacene el nombre de archivo y número de línea en el bloque asignado para informes posterior.No tiene que preocuparse de proporcionar parámetros adicionales; una macro se ocupa de que para usted.
Aunque no utiliza DEBUG_NEW en modo de depuración, todavía obtiene la detección de pérdidas de memoria, pero sin informes de número de línea del archivo de código fuente descrito anteriormente.
[!NOTA]
Si reemplaza a este operador, también debe reemplazar cancelación.No utilice la función estándar de _new_handler de biblioteca.
Ejemplo
Vea CObList:: CObList para una lista de la clase de CAge utilizada en los ejemplos de 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);
}
Requisitos
encabezado: afx.h