allocator Class
La classe de modèle décrit un objet qui manage l'allocation et la libération de mémoire pour les tableaux d'objets de type Type.Un objet de classe allocator est l'objet d'allocation par défaut spécifié dans les constructeurs de plusieurs classes de modèle de conteneur dans la bibliothèque C++ standard.
template <class Type> class allocator
Paramètres
- Tapez
Le type d'objet dont la mémoire est allouée ou libérée.
Notes
Tous les conteneurs de modèles Standard ont un paramètre de modèle qui correspond par défaut à allocator.La classe de modèle allocator fournit plusieurs définitions de type qui sont plutôt piétonnières.Elles apparaissent à peine intéressant définir.Mais une autre classe avec les mêmes membres peut choisir des alternatives plus intéressantes.Construisant un conteneur à un objet d'allocation d'une telle classe donne le contrôle individuel de l'allocation et de récupérer des éléments contrôlés par ce conteneur.
Par exemple, un objet d'allocation peut allouer de la mémoire sur un tas privé.Il peut allouer de la mémoire davantage sur un tas, lui demandant des pointeurs non standard d'accéder aux objets alloués.Il peut également spécifier, par le biais de définitions de type il fournit, que les éléments sont accessibles via les objets spéciaux d'utilisateur qui gèrent la mémoire partagée, ou effectuent le garbage collection automatique.Par conséquent, une classe qui alloue de la mémoire à un objet d'allocation doit utiliser ces types pour déclarer le pointeur et référencer des objets, comme le font les conteneurs dans la bibliothèque C++ standard.
Lorsque vous dérivez de la classe de l'allocateur, vous devez fournir une structure d' reliez-vous de nouveau, dont le typedef d' _Other référence récemment votre classe dérivée.
Ainsi, un allocateur définit les types suivants :
pointeur se comporte comme un pointeur vers Type.
const_pointer se comporte comme un pointeur const à Type.
référence se comporte comme une référence à Type.
const_reference se comporte comme une référence const à Type.
Ces Types spécifient la forme que les pointeurs et les références doivent prendre des éléments alloués.(allocator::pointer n'est pas nécessairement identiques Type* pour tous les objets d'allocation, bien qu'il soit cette définition évidente pour la classe allocator.)
Membres
Constructeurs
Constructeurs utilisés pour créer des objets d' allocator . |
Typedef
Un type qui fournit un pointeur change pas au type d'objet a géré par l'allocateur. |
|
Un type qui fournit une référence à une constante en type d'objet a géré par l'allocateur. |
|
Un type intégral signé qui peut représenter la différence entre les valeurs des pointeurs vers le type d'objet a géré par l'allocateur. |
|
Un type qui fournit un pointeur vers le type d'objet a géré par l'allocateur. |
|
Un type qui fournit une référence au type d'objet a géré par l'allocateur. |
|
Un type entier non signé qui peut représenter la longueur d'une séquence d'un objet de classe de modèle allocator peut allouer. |
|
Un type qui est géré par l'allocateur. |
Fonctions membres
Recherche l'adresse d'un objet dont la valeur est spécifiée. |
|
Alloue un bloc de mémoire suffisamment grand pour signaler au moins un certain nombre spécifié d'éléments. |
|
Construit un type spécifique avec de l'objet à une adresse spécifiée qui est initialisée avec une valeur spécifiée. |
|
Libère un nombre spécifié d'objets au début de la mémoire à une position spécifiée. |
|
Appelle un destructeur d'objets sans libérer la mémoire où l'objet a été enregistré. |
|
Retourne le nombre d'éléments de type Type qui peuvent être alloués par un objet de classe allocator avant que la mémoire disponible est utilisée. |
|
Une structure qui permet à un allocateur pour les objets d'un type d'allouer de la mémoire pour les objets d'un autre type. |
Opérateurs
Assigne un objet d' allocator à un autre objet d' allocator . |
Configuration requise
Header: <memory>
L'espace de noms : DST
Voir aussi
Référence
Sécurité des threads dans la bibliothèque C++ standard