new_get_new_handler

new_get_new_handler (std::get_new_handler)

<new> 헤더에 정의되어 있어요. 현재 설치된 new-handler를 돌려줘요. 널 포인터일 수 있어요. C++11부터 도입됐어요.

출처: cppreference

본문

std::new_handler get_new_handler() noexcept;

(C++11부터)

현재 설치된 new-handler를 돌려줘요. 널 포인터일 수 있어요.

이 함수는 스레드 안전해요. 이전의 std::set_new_handler 호출은 이후의 std::get_new_handler 호출과 동기화돼요. (std::memory_order 참고)

매개변수

없음.

반환값

현재 설치된 new-handler. 널 포인터 값일 수 있어요.

new-handler는 operator new가 메모리 할당에 실패했을 때 호출되는 함수 포인터예요. std::set_new_handler로 설정한 핸들러를 언제든 조회하고 싶을 때 get_new_handler를 써요.

std::new_handler h = std::get_new_handler();
if (h) { /* 핸들러 있음 */ }

더 알아보기 (Learn more)

cppreference