_set_new_mode
Imposta una new
modalità del gestore per malloc
.
Sintassi
int _set_new_mode( int newhandlermode );
Parametri
newhandlermode
new
modalità del gestore per malloc
; il valore valido è 0 o 1.
Valore restituito
Restituisce la modalità del gestore precedente impostata per malloc
. Un valore restituito pari a 1 indica che, in caso di errore di allocazione della memoria, malloc
precedentemente chiamata routine del new
gestore; un valore restituito pari a 0 indica che non è stato eseguito. Se l'argomento newhandlermode
non è uguale a 0 o 1, restituisce -1.
Osservazioni:
La funzione C++ _set_new_mode
imposta la new
modalità del gestore per malloc
. La new
modalità del gestore indica se, in caso di errore, malloc
deve chiamare la routine del new
gestore come impostata da _set_new_handler
. Per impostazione predefinita, malloc
non chiama la routine del new
gestore in caso di errore di allocazione della memoria. È possibile eseguire l'override di questo comportamento predefinito in modo che, quando malloc
non riesce ad allocare memoria, malloc
chiama la new
routine del gestore nello stesso modo in cui l'operatore new
esegue quando ha esito negativo per lo stesso motivo. Per altre informazioni, vedere gli new
operatori e delete
nella Guida di riferimento al linguaggio C++. Per eseguire l'override del comportamento predefinito, chiamare:
_set_new_mode(1);
all'inizio del programma o collegarsi a Newmode.obj (vedere Opzioni di collegamento).
Questa funzione convalida il relativo parametro. Se newhandlermode
è diverso da 0 o 1, la funzione richiama il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, _set_new_mode restituisce -1 e imposta errno
su EINVAL
.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_set_new_mode |
<new.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedi anche
Allocazione di memoria
calloc
free
realloc
_query_new_handler
_query_new_mode