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.