Partilhar via


cache_chunklist Classe

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

Sintaxe

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

Parâmetros

Sz
O número de elementos na matriz a ser alocado.

Observações

Este modelo de classe usa o operador new para alocar blocos de memória bruta, subalocando blocos para alocar armazenamento para um bloco de memória quando necessário; Ele armazena blocos de memória desalocados em uma lista livre separada para cada bloco e usa o operador delete para desalocar um bloco quando nenhum de seus blocos de memória está em uso.

Cada bloco de memória contém bytes Sz de memória utilizável e um ponteiro para o pedaço ao qual pertence. Cada bloco contém Nelts blocos de memória, três ponteiros, um int e os dados que o operador novo e o operador excluir exigem.

Construtores

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

Funções de membro

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

Requerimentos

Cabeçalho:<Alocadores>

Espaço de nomes: stdext

cache_chunklist::alocar

Aloca um bloco de memória.

void *allocate(std::size_t count);

Parâmetros

contagem
O número de elementos na matriz a ser alocado.

Valor de retorno

Um ponteiro para o objeto alocado.

cache_chunklist::cache_chunklist

Constrói um objeto do tipo cache_chunklist.

cache_chunklist();

cache_chunklist::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.

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

Ver também

<Alocadores>