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

Vea también

Referencia

Clase de CObject

Gráfico de jerarquía

CObject::operator elimina