_set_new_mode
Establece un new
modo de controlador para malloc
.
Sintaxis
int _set_new_mode( int newhandlermode );
Parámetros
newhandlermode
new
modo de controlador para malloc
; el valor válido es 0 o 1.
Valor devuelto
Devuelve el modo de controlador anterior establecido para malloc
. Un valor devuelto de 1 indica que, al no asignar memoria, malloc
anteriormente llamada new
rutina del controlador; un valor devuelto de 0 indica que no lo hizo. Si el newhandlermode
argumento no es igual a 0 o 1, devuelve -1.
Comentarios
La función de C++ _set_new_mode
establece el new
modo de controlador para malloc
. El new
modo de controlador indica si, en caso de error, malloc
es llamar a la new
rutina del controlador tal y como establece _set_new_handler
. De forma predeterminada, malloc
no llama a la rutina del new
controlador cuando no se asigna memoria. Puede invalidar este comportamiento predeterminado para que, cuando malloc
no se pueda asignar memoria, malloc
llama a la new
rutina del controlador de la misma manera que el new
operador hace cuando se produce un error por el mismo motivo. Para obtener más información, vea los new
operadores y delete
en la Referencia del lenguaje C++. Para invalidar el valor predeterminado, llame a:
_set_new_mode(1);
al principio del programa o vincule con Newmode.obj (consulte Opciones de vínculo).
Esta función valida su parámetro. Si newhandlermode
es algo distinto de 0 o 1, la función invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, _set_new_mode devuelve -1 y establece en errno
EINVAL
.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
Routine | Encabezado necesario |
---|---|
_set_new_mode |
<new.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Consulte también
Asignación de memoria
calloc
free
realloc
_query_new_handler
_query_new_mode