Classe cache_chunklist
Define um alocador de blocos que aloca e desaloca os 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 serem alocados.
Comentários
Esse modelo de classe usa operator new para alocar partes de memória bruta, subalocando blocos para alocar armazenamento para um bloco de memória quando necessário; ela armazena os blocos de memória desalocados em uma lista livre separada para cada parte e usa operator delete para desalocar uma parte quando nenhum dos 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 a parte à qual pertence. Cada parte contém blocos de memória Nelts
, três ponteiros, um int e os dados que operator new e operator delete 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 |
---|---|
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_chunklist::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_chunklist::cache_chunklist
Constrói um objeto do tipo cache_chunklist
.
cache_chunklist();
Comentários
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.
count
O número de objetos a serem desalocados do armazenamento.