Partager via


cache_chunklist, 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, std::size_t Nelts = 20>
class cache_chunklist

Paramètres

Sz
Nombre d’éléments du tableau à allouer.

Notes

Ce modèle de classe utilise l’opérateur nouveau pour allouer des blocs de mémoire brute, des blocs de sous-allocation pour allouer du stockage pour un bloc de mémoire si nécessaire ; il stocke les blocs de mémoire désalloués dans une liste libre distincte pour chaque bloc et utilise la suppression d’opérateur pour libérer un bloc quand aucun de ses blocs de mémoire n’est utilisé.

Chaque bloc de mémoire contient Sz octets de mémoire utilisable et un pointeur vers le bloc auquel il appartient. Chaque bloc contient Nelts des blocs de mémoire, trois pointeurs, un int et les données requises par l’opérateur new and operator delete .

Constructeurs

Constructeur Description
cache_chunklist Construit un objet de type cache_chunklist.

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_chunklist ::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_chunklist ::cache_chunklist

Construit un objet de type cache_chunklist.

cache_chunklist();

Notes

cache_chunklist ::d alallouer

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>