cache_suballoc, classe
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 | Description |
---|---|
cache_suballoc | Construit un objet de type cache_suballoc . |
Fonctions Membre
Fonction membre | Description |
---|---|
allocate | Alloue un bloc de mémoire. |
deallocate | 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
count
Nombre d’éléments du tableau à allouer.
Valeur de retour
Un pointeur vers l’objet alloué.
Notes
cache_suballoc ::cache_suballoc
Construit un objet de type cache_suballoc
.
cache_suballoc();
Notes
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.
count
Nombre d’objets à désallouer dans le stockage.