_set_new_mode

Define um novo modo de manipulador para malloc.

Sintaxe

int _set_new_mode( int newhandlermode );

Parâmetros

newhandlermode
Novo modo de manipulador para malloc; o valor válido é 0 ou 1.

Valor Retornado

Retorna o modo de manipulador anterior definido para malloc. Um valor de retorno 1 indica que, em caso de falha ao alocar memória, malloc anteriormente chamou a nova rotina do manipulador; um valor de retorno 0 indica que ele não foi. Se o argumento newhandlermode não for igual a 0 ou 1, retornará-1.

Comentários

A função de C++ set_new_mode define o novo modo do manipulador para malloc. O novo modo de manipulador indica se, em caso de falha, malloc é chamar a nova rotina do manipulador, conforme definido por _set_new_handler. Por padrão, o malloc não chama a nova rotina do manipulador em caso de falha para alocar memória. Você pode substituir esse comportamento padrão para que, quando malloc não aloca memória, malloc chame a nova rotina do manipulador da mesma maneira que o new operador faz quando ele falha pelo mesmo motivo. Para obter mais informações, consulte os operadores new e delete na Referência da 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 algo 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 isso, consulte estado global no CRT.

Requisitos

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

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

Confira também

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