_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