_set_new_mode
new
Ustawia tryb obsługi dla elementu malloc
.
Składnia
int _set_new_mode( int newhandlermode );
Parametry
newhandlermode
new
Tryb obsługi dla malloc
; prawidłowa wartość to 0 lub 1.
Wartość zwracana
Zwraca poprzedni tryb obsługi ustawiony dla elementu malloc
. Wartość zwracana 1 wskazuje, że po niepodzieleniu pamięci malloc
, wcześniej nazywanej new
procedurą obsługi, zwracana wartość 0 wskazuje, że nie. newhandlermode
Jeśli argument nie jest równy 0 lub 1, zwraca wartość -1.
Uwagi
Funkcja języka C++ _set_new_mode
ustawia new
tryb obsługi dla elementu malloc
. Tryb new
obsługi wskazuje, malloc
czy w przypadku niepowodzenia należy wywołać procedurę new
obsługi zgodnie z ustawieniem ._set_new_handler
Domyślnie malloc
program obsługi nie wywołuje new
procedury obsługi w przypadku niepowodzenia przydzielenia pamięci. To zachowanie domyślne można zastąpić, aby w przypadku malloc
niepowodzenia przydzielenia pamięci malloc
wywołać new
procedurę obsługi w taki sam sposób, jak new
operator, gdy ulegnie awarii z tego samego powodu. Aby uzyskać więcej informacji, zobacz new
operatory i delete
w dokumentacji języka C++. Aby zastąpić wartość domyślną, wywołaj metodę :
_set_new_mode(1);
na początku programu lub linku z Newmode.obj (zobacz Opcje linku).
Ta funkcja weryfikuje jego parametr. Jeśli newhandlermode
element jest inny niż 0 lub 1, funkcja wywołuje nieprawidłową procedurę obsługi parametrów zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie może kontynuować, _set_new_mode zwraca wartość -1 i ustawia wartość EINVAL
errno
.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_set_new_mode |
<new.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Alokacja pamięci
calloc
free
realloc
_query_new_handler
_query_new_mode