Allocateurs
Les allocateurs sont utilisés par la bibliothèque de modèles Standard pour gérer l'allocation et la libération des magasins d'éléments dans des conteneurs.Tous les conteneurs STL ont un argument template de type 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 bibliothèque de modèles Standard fournit une implémentation par défaut pour un allocateur.Dans la plupart des cas, l'allocateur par défaut doit être suffisant.Pour plus d'informations sur l'allocateur par défaut, consultez l' allocator Class.
écrire votre propre allocateur
Le utilise par défaut new et delete d'allocateur d'allouer et libérer la mémoire.Si vous souhaitez utiliser une autre méthode d'allocation de mémoire, par exemple l'utilisation de la mémoire partagée, vous devez créer votre propre allocateur.
Tout allocateur utilisé avec des conteneurs STL doit implémenter les définitions de types suivantes :
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
De plus, tout allocateur utilisé avec des conteneurs STL 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 Class.