다음을 통해 공유


cache_freelist 클래스

단일 크기의 메모리 블록을 할당하고 할당 취소하는 블록 할당자를 정의합니다.

구문

template <std::size_t Sz, class Max>
class cache_freelist

매개 변수

Sz
할당할 배열의 요소 수입니다.

Max
사용 가능한 목록의 최대 크기를 나타내는 최대 클래스입니다. max_fixed_size, max_none, max_unbounded 또는 max_variable_size일 수 있습니다.

설명

cache_freelist 클래스 템플릿은 Sz 크기의 메모리 블록 목록을 무료로 유지 관리합니다. 사용 가능한 목록이 가득 차면 연산자 삭제를 사용하여 메모리 블록의 할당을 취소합니다. 사용 가능한 목록이 비어 있으면 새 연산자를 사용하여 메모리 블록을 할당합니다. 사용 가능한 목록의 최대 크기는 Max 매개 변수에 전달된 클래스 max 클래스에 의해 결정됩니다.

각 메모리 블록은 사용 가능한 메모리의 Sz 바이트와 새 연산자 및 연산자 삭제필요한 데이터를 보유합니다.

생성자

생성자 Description
cache_freelist cache_freelist 형식의 개체를 생성합니다.

멤버 함수

멤버 함수 설명
allocate 메모리 블록을 할당합니다.
deallocate 지정된 위치부터 시작하여 스토리지에서 지정된 개수의 개체를 해제합니다.

요구 사항

헤더:<할당자>

네임스페이스: stdext

cache_freelist::allocate

메모리 블록을 할당합니다.

void *allocate(std::size_t count);

매개 변수

count
할당할 배열의 요소 수입니다.

Return Value

할당된 개체에 대한 포인터입니다.

설명

cache_freelist::cache_freelist

cache_freelist 형식의 개체를 생성합니다.

cache_freelist();

설명

cache_freelist::d모든지

지정된 위치부터 시작하여 스토리지에서 지정된 개수의 개체를 해제합니다.

void deallocate(void* ptr, std::size_t count);

매개 변수

ptr
스토리지에서 할당을 취소할 첫 번째 개체에 대한 포인터입니다.

count
스토리지에서 할당을 취소할 개체의 수입니다.

설명

참고 항목

<allocators>