_set_new_mode
Define um new
modo de manipulador para malloc
.
Sintaxe
int _set_new_mode( int newhandlermode );
Parâmetros
newhandlermode
new
modo de manipulador para malloc
; o valor válido é 0 ou 1.
Valor retornado
Retorna o modo do manipulador anterior definido para malloc
. Um valor retornado de 1 indica que, em caso de falha ao alocar memória, malloc
anteriormente chamado de rotina do new
manipulador; um valor retornado de 0 indica que não. Se o newhandlermode
argumento não for igual a 0 ou 1, retornará -1.
Comentários
A função C++ _set_new_mode
define o new
modo de manipulador para malloc
. O new
modo de manipulador indica se, em caso de falha, malloc
deve 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 ao alocar memória. Você pode substituir esse comportamento padrão para que, quando malloc
falhar ao alocar memória, malloc
chame a rotina do new
manipulador da mesma forma que o new
operador faz quando ele falha pelo mesmo motivo. Para obter mais informações, consulte os new
operadores e delete
na Referência de linguagem C++. Para substituir o padrão, chame:
_set_new_mode(1);
no início do programa ou link com Newmode.obj (consulte Opções de link).
Esta função valida seu parâmetro. Se newhandlermode
for diferente de 0 ou 1, a função invocará o manipulador de parâmetro 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, confira Estado global no 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