Partager via


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.

Notes

Voir aussi

<allocators>