allocator Class
A classe de modelo descreve um objeto que gerencia a alocação de armazenamento e se para liberar matrizes de objetos do tipo Tipo.Um objeto da classe allocator é o objeto padrão do distribuidor especificado nos construtores para várias classes do modelo de recipiente na biblioteca do C++ padrão.
template <class Type> class allocator
Parâmetros
- Tipo
O tipo de objeto para o armazenamento que está sendo atribuído ou desalocado.
Comentários
All containers padrão da biblioteca de modelo tem um parâmetro do modelo que usa por padrão a allocator.A classe allocator de modelo fornece várias definições de tipo que são um pouco pedestres.Parecem errado definição de valor.Mas outra classe com os mesmos membros pode escolher as alternativas mais interessantes.Criar um recipiente com um objeto do distribuidor de tal classe fornece o controle individual sobre a alocação e liberando os elementos controlados pelo recipiente.
Por exemplo, um objeto do distribuidor pode atribuir o armazenamento em um heap particular.O armazenamento pode atribuir distante em um heap, ponteiros não exigem diferentes acessar os objetos atribuídos.Também pode especificar, com as definições de tipo, que fornece os elementos de serem acessados através de objetos especiais acessadores que gerenciam a memória compartilhada, ou executam coleta de lixo automática.Portanto, uma classe que atribui o armazenamento usando um objeto do distribuidor deve usar esses tipos para declarar o ponteiro e referenciar objetos, como recipientes na biblioteca do C++ padrão fazem.
Quando você derivar da classe do distribuidor, você precisará fornecer um estrutura de reassociar , cujo typedef de _Other referencia sua classe derivada recentemente.
Assim, um distribuidor define os seguintes tipos:
ponteiro se comporta como um ponteiro para Tipo.
const_pointer se comporta como um ponteiro const a Tipo.
referência se comporta como uma referência a Tipo.
const_reference se comporta como uma referência const a Tipo.
Este Tipos especifica o formulário que os ponteiros e referências devem tomar para elementos atribuídos.(allocator::pointer não necessariamente é o mesmo que Tipo* para todos os objetos do distribuidor, mesmo que possui essa definição óbvia para a classe allocator.)
Membros
Construtores
Construtores usados para criar objetos de allocator . |
Typedefs
Um tipo que fornecesse um ponteiro constante ao tipo de objeto gerenciados pelo distribuidor. |
|
Um tipo que fornecesse uma constante referência ao tipo de objeto gerenciados pelo distribuidor. |
|
Um tipo inteiro com sinal que pode representar a diferença entre valores dos ponteiros para o tipo de objeto gerenciados pelo distribuidor. |
|
Um tipo que fornecesse um ponteiro para o tipo de objeto gerenciados pelo distribuidor. |
|
Um tipo que fornecesse uma referência para o tipo de objeto gerenciados pelo distribuidor. |
|
Um tipo integral sem sinal que possa representar o comprimento da sequência que um objeto da classe allocator de modelo pode atribuir. |
|
Um tipo que é gerenciado pelo distribuidor. |
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 é inicializada com um valor especificado. |
|
Libera um número especificado de objetos de início de armazenamento em uma posição especificada. |
|
Destruidor chama um dos objetos sem desalocar a memória onde 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 é usada anterior. |
|
Uma estrutura que permite que um distribuidor para objetos de um tipo para atribuir o armazenamento para objetos de outro tipo. |
Operadores
Atribui um objeto de allocator a outro objeto de allocator . |
Requisitos
Cabeçalho: <memory>
Namespace: STD
Consulte também
Referência
Segurança do thread na biblioteca C++ padrão