Alocadores
Os alocadores são usados pela biblioteca padrão do modelo para controlar a alocação e a desalocação de repositório de elementos em contêineres. Todos os contêineres STL têm um argumento de modelo do tipo allocator<Type>, onde Type representa o tipo do elemento do contêiner. Por exemplo, a classe de vetor é declarada como segue:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
A biblioteca padrão do modelo fornece uma implementação padrão para um alocador. Na maioria dos casos, o alocador padrão deve ser suficiente. Para obter mais informações sobre o alocador padrão, consulte Classe allocator.
Escrevendo sua própria alocador
O padrão new e delete do alocador aloque e desaloque a memória. Se você quiser usar um método diferente de alocação de memória, como o uso de memória compartilhada, depois de você deve criar seu próprio alocador.
Todo o 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 métodos a seguir:
Construtor |
deallocate |
Construtor de cópia |
destroy |
Destruidor |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Para obter mais informações sobre esses definições de tipos e métodos, consulte Classe allocator.