Asignadores
La biblioteca de plantillas estándar utilizan los asignadores para controlar la asignación y la desasignación de elementos almacena en contenedores.Todos los contenedores STL tienen un argumento de plantilla de **allocator<Type>**escriba, donde Type representa el tipo del elemento contenedor.Por ejemplo, se declara la clase vector como sigue:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
La biblioteca de plantillas estándar proporciona una implementación predeterminada de un asignador.en la mayoría de los casos, este asignador predeterminado debe ser suficiente.Para obtener más información sobre el asignador predeterminado, vea allocator Class.
Escribir poseer el asignador
El asignador predeterminado utiliza new y delete para asignar y para la desasignación de memoria.Si desea utilizar un método diferente de asignación de memoria, como utilizar memoria compartida, después se debe crear dispone del asignador.
Cualquier asignador utilizado con los contenedores STL debe implementar las definiciones de tipo siguiente:
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
Además, cualquier asignador utilizado con los contenedores STL debe implementar los métodos siguientes:
Constructor |
deallocate |
Constructor de copia |
destroy |
Un destructor |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Para obtener más información sobre estas definiciones de tipos y métodos, vea allocator Class.