C++ permite la sobrecarga operator new
- tanto global como por clase - operator new
, operator new[]
generalmente utilizado con new[]
instrucción y ubicación por separado.¿Cómo podría sobrecargar sensiblemente el operador de colocación nuevo?
Los dos primeros de esos tres suelen estar sobrecargados por utilizar asignadores personalizados y agregar seguimiento. Pero la colocación operator new
parece bastante sencilla, en realidad no hace nada dentro. Por ejemplo, en Visual C++ la implementación predeterminada sólo devuelve la dirección pasó a la llamada:
//from new.h
inline void* operator new(size_t, void* where)
{
return where;
}
qué otra cosa podría hacer? ¿Por qué y cómo podría sobrecargar sensiblemente la ubicación operator new
?
¿Está solicitando usos de sobrecarga del nuevo operador? Esa es una pregunta bastante amplia. –
@Alexander Rafferty Estoy preguntando específicamente sobre los usos de la sobrecarga de colocación nueva. No puedo ver ningún propósito en este caso específico. – sharptooth
+1 para acceder a los archivos de encabezado. – Chubsdad