allocation_result — std::allocation_result

allocation_result — std::allocation_result

std::allocation_result는 할당 연산이 성공했을 때 반환해야 하는 값들을 묶은 템플릿 구조체예요. C++23에서 도입됐어요.

이 구조체는 두 개의 멤버를 가져요. 첫 번째는 할당된 메모리 블록의 시작 주소를 가리키는 포인터, 두 번째는 (요청된 크기와 다른) 실제 할당 크기예요. 할당 함수가 "요청보다 크게 줬다"는 정보를 함께 전달하려고 해요.

출처: cppreference

본문

std::allocation_result는 할당 결과 값을 저장하는 템플릿 구조체예요.

template<class Allocator>
struct allocation_result
{
    Allocator::pointer ptr;
    Allocator::size_type count;
};
  • ptr — 할당된 메모리 블록의 시작을 가리키는 포인터
  • count — 실제로 할당된 요소의 수 (요청된 수와 다를 수 있어요)

이 구조체는 주로 allocate_at_least 같은 종류의 할당 함수에서, "할당된 메모리 주소"와 "실제 할당된 크기(요청보다 클 수 있음)"를 함께 반환하는 데 사용돼요. 호출자는 count를 보고 실제로 사용할 수 있는 메모리 양을 알 수 있어요.

더 알아보기 (Learn more)

cppreference