Udostępnij za pośrednictwem


_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ść EINVALerrno .

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