Compartilhar via


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:

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

allocator

Construtores usados para criar objetos de allocator .

Typedefs

const_pointer

Um tipo que fornece um ponteiro constante para o tipo de objeto gerenciado pelo alocador.

const_reference

Um tipo que fornece uma referência constante para o tipo de objeto gerenciado pelo alocador.

difference_type

Um tipo integral assinado que pode representar a diferença entre valores dos ponteiros ao tipo de objeto gerenciado pelo alocador.

ponteiro

Um tipo que fornece um ponteiro para o tipo de objeto gerenciado pelo alocador.

referência

Um tipo que fornece uma referência ao tipo de objeto gerenciado pelo alocador.

size_type

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.

tipo de valor

Um tipo que é gerenciado pelo alocador.

Funções de membro

endereço

Localiza o endereço de um objeto cujo valor é especificado.

aloque

Atribui um bloco de memória grande o suficiente para armazenar pelo menos um número especificado de elementos.

construção

Constrói um tipo específico de objeto em um endereço especificado que é inicializado com um valor especificado.

desaloque

Libera um número especificado de objetos do início do armazenamento em uma posição especificada.

destruir

Chama um destruidor de objetos sem desaloque a memória em que o objeto foi armazenado.

max_size

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.

reassociar

Uma estrutura que permite que um alocador para objetos de um tipo para atribuir o armazenamento de objetos de outro tipo.

Operadores

operador=

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++

Outros recursos

alocador membros

<memory> Membros