Partager via


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.

Voir aussi

Référence

Bibliothèque STL (Standard Template Library)