Compartilhar via


_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