Partilhar via


Allocators

Allocators são usados por Standard Template Library para lidar com a alocação e desalocação de armazenamentos de elementos em recipientes.Todos os contêineres STL têm um argumento de modelo do tipo allocator<Type>, onde Type representa o tipo de elemento de contêiner.Por exemplo, a classe vector é declarada da seguinte maneira:

template <
    class Type,
    class Allocator = allocator<Type>
>
class vector

A Standard Template Library fornece uma implementação padrão para um alocador.Na maioria dos casos, esse alocador padrão deve ser suficiente.Para obter mais informações sobre o alocador de padrão, consulte allocator Class.

Escrevendo sua próprias alocador

O alocador padrão usa new e delete para alocar e desalocar a memória.Se você quiser usar outro método de alocação de memória, como o uso de memória compartilhada, você deve criar seu próprio alocador.

Qualquer alocador usado com contêineres STL deve implementar as seguintes definições de tipo:

const_pointer

rebind

const_reference

reference

difference_type

size_type

pointer

value_type

Além disso, qualquer alocador usado com contêineres STL deve implementar os seguintes métodos:

Construtor

deallocate

Construtor de cópia

destroy

Destruidor

max_size

address

operator==

allocate

operator!=

construct

Para obter mais informações sobre essas definições de tipo e métodos, consulte allocator Class.

Consulte também

Referência

Standard Template Library