Allocateurs
Les allocateurs par la norme TEMPLATE Library pour gérer l'allocation et de désallocation des magasins d'éléments dans les conteneurs. Tous les conteneurs STL de ont un argument de type TEMPLATE allocator<Type>, où Type représente le type de l'élément conteneur. Par exemple, la classe vectorielle est déclarée comme suit :
template <
class Type,
class Allocator = allocator<Type>
>
class vector
La norme TEMPLATE bibliothèque fournit une implémentation par défaut pour un allocateur. Dans la plupart des cas, l'allocateur par défaut doit être suffisante. Pour plus d'informations sur l'allocateur par défaut, consultez l'allocator, classe.
Écrire votre propre allocateur
Utilise par défaut new et delete d'allocateur d'allouer et libérer de la mémoire. Si vous souhaitez utiliser une autre méthode d'allocation de mémoire, telle que en utilisant la mémoire partagée, vous devez créer votre propre allocateur.
Tout allocateur utilisé avec les conteneurs STL de doit implémenter les définitions de type suivantes :
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
De plus, tout allocateur utilisé avec les conteneurs STL de doit implémenter les méthodes suivantes :
Constructeur |
deallocate |
Constructeur de copie |
destroy |
Destructeur |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Pour plus d'informations sur ces définitions de types et méthodes, consultez l'allocator, classe.