Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit un allocateur de blocs qui alloue et désalloue des blocs de mémoire de taille unique.
Syntaxe
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
Paramètres
Sz
Nombre d’éléments du tableau à allouer.
Notes
Le modèle de classe cache_suballoc stocke les blocs de mémoire désalloués dans une liste libre avec une longueur non liée, à l’aide freelist<sizeof(Type), max_unbounded>et sous-réalloue les blocs de mémoire d’un bloc plus grand alloué avec l’opérateur nouveau lorsque la liste libre est vide.
Chaque bloc contient Sz * Nelts des octets de mémoire utilisable et les données requises par l’opérateur nouveau et opérateur delete. Les segments alloués ne sont jamais libérés.
Constructeurs
| Constructeur | Descriptif |
|---|---|
| cache_suballoc | Construit un objet de type cache_suballoc. |
Fonctions Membre
| Fonction membre | Descriptif |
|---|---|
| allouer | Alloue un bloc de mémoire. |
| désallouer | Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée. |
Spécifications
Header :<allocators>
Espace de noms : stdext
cache_suballoc ::allocate
Alloue un bloc de mémoire.
void *allocate(std::size_t count);
Paramètres
nombre
Nombre d’éléments du tableau à allouer.
Valeur de retour
Un pointeur vers l’objet alloué.
cache_suballoc ::cache_suballoc
Construit un objet de type cache_suballoc.
cache_suballoc();
cache_suballoc ::d allocate
Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée.
void deallocate(void* ptr, std::size_t count);
Paramètres
ptr
Pointeur vers le premier objet à désallouer dans le stockage.
nombre
Nombre d’objets à désallouer dans le stockage.