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로 설정하고, 이전의 기본 자원 포인터 값을 반환해요. rnullptr을 전달하면 기본값(new_delete_resource)으로 재설정돼요.

이 함수는 스레드 안전해요. 이전 호출의 set_default_resource는 이후 get_default_resource 호출과 "동기화(synchronizes-with)"돼요.

이 함수는 C++17의 폴리모픽 메모리 자원(PMR) 기능의 일부예요. 반환된 이전 포인터를 저장해두면 나중에 기본 자원을 복원할 수 있어요.

같이 보기

  • std::get_default_resource
  • std::new_delete_resource
  • std::pmr::memory_resource

더 알아보기 (Learn more)

cppreference