Classe allocator
A classe de modelo descreve um objeto que gerencia a alocação de armazenamento e libera matrizes de objetos do tipo Type. Um objeto da classe allocator é o objeto padrão do alocador especificado nos construtores para várias classes de modelo do contêiner na biblioteca padrão C++.
template <class Type>
class allocator
Parâmetros
- Tipo
O tipo de objeto para o qual o armazenamento está sendo atribuído ou desalocado.
Comentários
Todos os contêineres de biblioteca padrão do modelo tem um parâmetro de modelo que usa como padrão allocator. A classe allocator de modelo fornece várias definições de tipo que são um pouco pedestres. Parecem não definição do valor. Mas outra classe com os mesmos membros pode escolher alternativas mais interessantes. Construir um contêiner com um objeto do alocador de uma classe do controle individual na alocação e a liberação dos elementos controlados por esse contêiner.
Por exemplo, um objeto do alocador pode atribuir o armazenamento em um heap privado. Pode atribuir o armazenamento de atraso em um heap, exigindo ponteiros não padrão para acessar os objetos atribuídos. Também pode especificar, com as definições de tipo, que fornece os elementos são acessadas pelos objetos especiais do acessador que gerencia a memória compartilhada, ou executa a coleta de lixo automática. Consequentemente, uma classe de atribuir o armazenamento usando um objeto do alocador deve usar esses tipos para declarar o ponteiro e objetos de referência, como os contêineres na biblioteca padrão fazem C++.
Quando você se deriva da classe do alocador, você tem que fornecer uma estrutura de reassociar , cujo typedef de _Other faz referência à sua classe com derivada.
Assim, um alocador define os seguintes tipos:
ponteiro se comporta como um ponteiro para Tipo.
const_pointer se comporta como um ponteiro de const a Tipo.
referência se comporta como uma referência a Tipo.
const_reference se comporta como uma referência de const a Tipo.
Este Tipos especifica a forma que os ponteiros e as referências devem executar para os elementos atribuídos. (allocator::pointer não é necessariamente o mesmo que Tipo* para todos os objetos do alocador, mesmo que tenha esta definição óbvia da classe allocator.)
Membros
Construtores
Construtores usados para criar objetos de allocator . |
Typedefs
Um tipo que fornece um ponteiro constante para o tipo de objeto gerenciado pelo alocador. |
|
Um tipo que fornece uma referência constante para o tipo de objeto gerenciado pelo alocador. |
|
Um tipo integral assinado que pode representar a diferença entre valores dos ponteiros ao tipo de objeto gerenciado pelo alocador. |
|
Um tipo que fornece um ponteiro para o tipo de objeto gerenciado pelo alocador. |
|
Um tipo que fornece uma referência ao tipo de objeto gerenciado pelo alocador. |
|
Um tipo integral não assinado que pode representar o comprimento de qualquer sequência que um objeto da classe allocator do modelo pode alocar. |
|
Um tipo que é gerenciado pelo alocador. |
Funções de membro
Localiza o endereço de um objeto cujo valor é especificado. |
|
Atribui um bloco de memória grande o suficiente para armazenar pelo menos um número especificado de elementos. |
|
Constrói um tipo específico de objeto em um endereço especificado que é inicializado com um valor especificado. |
|
Libera um número especificado de objetos do início do armazenamento em uma posição especificada. |
|
Chama um destruidor de objetos sem desaloque a memória em que o objeto foi armazenado. |
|
Retorna o número de elementos de tipo Type que podem ser atribuídos por um objeto da classe allocator antes que a memória livre seja usada acima. |
|
Uma estrutura que permite que um alocador para objetos de um tipo para atribuir o armazenamento de objetos de outro tipo. |
Operadores
Atribui um objeto de allocator a outro objeto de allocator . |
Requisitos
Memória<deHeader: >
Namespace: std
Consulte também
Referência
Segurança de threads na Biblioteca Padrão C++