_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