Compartilhar via


Classe cache_suballoc

Define um alocador de blocos que aloca e desaloca os blocos de memória de um único tamanho.

Sintaxe

template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc

Parâmetros

Sz
O número de elementos na matriz a serem alocados.

Comentários

O modelo de classe cache_suballoc armazena blocos de memória desalocados em uma lista livre com comprimento ilimitado, usando freelist<sizeof(Type), max_unbounded> e subaloca blocos de memória de uma parte maior alocada com operator new quando a lista livre está vazia.

Cada parte contém Sz * Nelts bytes de memória utilizável e os dados que operator new e operator delete exigem. Partes alocadas nunca são liberadas.

Construtores

Construtor Descrição
cache_suballoc Constrói um objeto do tipo cache_suballoc.

Funções de membro

Função de membro Descrição
allocate Aloca um bloco de memória.
deallocate Libera um número especificado de objetos do armazenamento começando em uma posição especificada.

Requisitos

Cabeçalho:<allocators>

Namespace: stdext

cache_suballoc::alocar

Aloca um bloco de memória.

void *allocate(std::size_t count);

Parâmetros

count
O número de elementos na matriz a serem alocados.

Valor de retorno

Um ponteiro para o objeto alocado.

Comentários

cache_suballoc::cache_suballoc

Constrói um objeto do tipo cache_suballoc.

cache_suballoc();

Comentários

cache_suballoc::d eallocate

Libera um número especificado de objetos do armazenamento começando em uma posição especificada.

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

Parâmetros

ptr
Um ponteiro para o primeiro objeto a ser desalocado do armazenamento.

count
O número de objetos a serem desalocados do armazenamento.

Comentários

Confira também

<allocators>