Partager via


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 :

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

h8z741y5.collapse_all(fr-fr,VS.110).gifConstructeurs

allocateur

Constructeurs utilisés pour créer des objets d' allocator .

h8z741y5.collapse_all(fr-fr,VS.110).gifTypedef

const_pointer

Un type qui fournit un pointeur change pas au type d'objet a géré par l'allocateur.

const_reference

Un type qui fournit une référence à une constante en type d'objet a géré par l'allocateur.

difference_type

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.

pointer

Un type qui fournit un pointeur vers le type d'objet a géré par l'allocateur.

référence

Un type qui fournit une référence au type d'objet a géré par l'allocateur.

size_type

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.

Type valeur

Un type qui est géré par l'allocateur.

h8z741y5.collapse_all(fr-fr,VS.110).gifFonctions membres

address

Recherche l'adresse d'un objet dont la valeur est spécifiée.

allouez

Alloue un bloc de mémoire suffisamment grand pour signaler au moins un certain nombre spécifié d'éléments.

élément

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érez

Libère un nombre spécifié d'objets au début de la mémoire à une position spécifiée.

détruire

Appelle un destructeur d'objets sans libérer la mémoire où l'objet a été enregistré.

max_size

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.

reliez-vous de nouveau

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.

h8z741y5.collapse_all(fr-fr,VS.110).gifOpérateurs

operator=

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

Autres ressources

membres d'allocateur

<memory> membres