_set_new_mode

Define um modo de new manipulador para malloc.

Sintaxe

int _set_new_mode( int newhandlermode );

Parâmetros

newhandlermode
new modo manipulador para malloc; valor válido é 0 ou 1.

Retornar valor

Retorna o modo do manipulador anterior definido para malloc. Um valor de retorno de 1 indica que, ao falhar na alocação de memória, anteriormente chamada de rotina do manipulador, malloc um valor de retorno de new 0 indica que não. Se o argumento não for igual a newhandlermode 0 ou 1, retornará -1.

Comentários

A função C++ _set_new_mode define o new modo manipulador para malloc. O new modo manipulador indica se, em caso de falha, malloc é necessário chamar a rotina do new manipulador conforme definido por _set_new_handler. Por padrão, malloc não chama a rotina do new manipulador em caso de falha na alocação de memória. Você pode substituir esse comportamento padrão para que, quando falhar ao alocar memória, malloc chame a rotina do new manipulador da mesma maneira que o new operador faz quando malloc ele falha pelo mesmo motivo. Para obter mais informações, consulte os new operadores e delete na Referência da linguagem C++. Para substituir o padrão, chame:

_set_new_mode(1);

no início do seu programa ou link com Newmode.obj (consulte Opções de link).

Esta função valida seu parâmetro. Se newhandlermode for algo diferente de 0 ou 1, a função invocará o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, _set_new_mode retornará -1 e definirá errno como EINVAL.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Requisitos

Rotina Cabeçalho necessário
_set_new_mode <new.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Alocação de memória
calloc
free
realloc
_query_new_handler
_query_new_mode