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 Descriptif
cache_chunklist Construit un objet de type cache_chunklist.

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

Construit un objet de type cache_chunklist.

cache_chunklist();

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.

nombre
Nombre d’objets à désallouer dans le stockage.

Voir aussi

<allocators>