Compartir a través de


_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