new_delete_resource — std::pmr::new_delete_resource

new_delete_resource — std::pmr::new_delete_resource

std::pmr::new_delete_resource는 전역 operator newoperator delete를 사용해 메모리를 할당하는 memory_resource에 대한 포인터를 반환하는 함수예요. <memory_resource> 헤더에 제공돼요.

std::pmr 프로그램에서 가장 기본적인 메모리 자원이에요. get_default_resource()가 처음에 가리키는 자원이기도 해요. 마치 일반 new/delete처럼 동작하되, 메모리 자원 인터페이스로 감싼 형태예요.

출처: cppreference

본문

std::pmr::new_delete_resource는 전역 new/delete를 쓰는 메모리 자원을 반환해요.

std::pmr::memory_resource* new_delete_resource() noexcept;

std::pmr::memory_resource에서 파생된 정적 저장 기간 객체에 대한 포인터 p를 반환해요. 다음 속성을 가져요.

  • allocate()::operator new를 사용해 메모리를 할당
  • deallocate()::operator delete를 사용해 메모리를 해제
  • 어떤 memory_resource r에 대해 p->is_equal(r)&r == p를 반환

이 자원은 항상 같은 정적 객체를 가리키므로, 프로그램 전체에서 안정적으로 비교할 수 있어요. 기본 메모리 자원과 동일하게 동작하며, 커스텀 메모리 자원을 만들 때 기준점으로 유용해요.

같이 보기

  • std::get_default_resource
  • std::set_default_resource
  • std::pmr::memory_resource

더 알아보기 (Learn more)

cppreference