다음을 통해 공유


_set_new_mode

new 대한 처리기 모드를 malloc설정합니다.

구문

int _set_new_mode( int newhandlermode );

매개 변수

newhandlermode
new 처리기 모드입니다 malloc. 유효한 값은 0 또는 1입니다.

반환 값

malloc에 대해 설정된 이전 처리기 모드를 반환합니다. 반환 값이 1이면 메모리 malloc 를 할당하지 못한 경우 이전에 처리기 루틴이라고 했습니다 new . 반환 값이 0이면 메모리가 할당되지 않았음을 나타냅니다. 인수가 newhandlermode 0 또는 1이 아니면 -1을 반환합니다.

설명

C++ _set_new_mode 함수는 에 대한 처리기 모드를 new malloc설정합니다. 처리기 모드는 new 실패 malloc 시 설정으로 _set_new_handler처리기 루틴을 new 호출할지 여부를 나타냅니다. 기본적으로 malloc 메모리 할당 실패시 new 처리기 루틴을 호출하지 않습니다. 이 기본 동작을 재정의하여 메모리 malloc 할당에 실패할 때 malloc 동일한 이유로 실패할 때 연산자가 수행하는 것과 동일한 방식으로 new 처리기 루틴을 호출 new 할 수 있습니다. 자세한 내용은 C++ 언어 참조의 new 연산자와 delete 연산자를 참조하세요. 기본값을 재정의하려면 다음을

_set_new_mode(1);

프로그램 초기에 또는 Newmode.obj 연결(링크 옵션 참조).

이 함수는 해당 매개 변수의 유효성을 검사합니다. 0 또는 1 이외의 경우 newhandlermode 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 실행을 계속할 수 있는 경우 _set_new_mode -1을 반환하고 로 설정합니다 errno EINVAL.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

루틴에서 반환된 값 필수 헤더
_set_new_mode <new.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

메모리 할당
calloc
free
realloc
_query_new_handler
_query_new_mode