set_default_resource — std::set_default_resource
set_default_resource — std::set_default_resource
std::set_default_resource는 프로그램 전체의 기본 메모리 자원(polymorphic memory resource)을 설정하는 함수예요. <memory_resource> 헤더에 제공돼요.
명시적 자원이 주어지지 않은 코드에서 std::pmr이 기본으로 사용할 메모리 자원을 바꿀 수 있어요. 이렇게 하면 프로그램 전역의 할당 동작을 교체할 수 있어요.
출처: cppreference
본문
std::set_default_resource는 기본 메모리 자원을 설정해요.
std::pmr::memory_resource* set_default_resource(std::pmr::memory_resource* r) noexcept;
기본 메모리 자원 포인터를 r로 설정하고, 이전의 기본 자원 포인터 값을 반환해요. r로 nullptr을 전달하면 기본값(new_delete_resource)으로 재설정돼요.
이 함수는 스레드 안전해요. 이전 호출의 set_default_resource는 이후 get_default_resource 호출과 "동기화(synchronizes-with)"돼요.
이 함수는 C++17의 폴리모픽 메모리 자원(PMR) 기능의 일부예요. 반환된 이전 포인터를 저장해두면 나중에 기본 자원을 복원할 수 있어요.
같이 보기
std::get_default_resourcestd::new_delete_resourcestd::pmr::memory_resource