Sdílet prostřednictvím


cache_chunklist – třída

Definuje blokový alokátor , který přiděluje a uvolní bloky paměti jedné velikosti.

Syntaxe

template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist

Parametry

Sz
Počet prvků v poli, které se mají přidělit.

Poznámky

Tato šablona třídy používá operátor nové k přidělení bloků nezpracované paměti, přiřazení bloků k přidělení úložiště pro blok paměti v případě potřeby; ukládá uvolněné bloky paměti v samostatném bezplatném seznamu pro každý blok dat a používá operátor delete k uvolnění bloku dat, pokud se nepoužívá žádný z bloků paměti.

Každý blok paměti obsahuje využitelné bajty Sz a ukazatel na blok dat, do kterého patří. Každý blok bloků paměti obsahuje Nelts bloky paměti, tři ukazatele, int a data, která operátor new a operátor delete vyžadují.

Konstruktory

Konstruktor Popis
cache_chunklist Vytvoří objekt typu cache_chunklist.

Členské funkce

Členová funkce Popis
allocate Přidělí blok paměti.
uvolnit Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.

Požadavky

Záhlaví:<alokátory>

Namespace: stdext

cache_chunklist::přidělení

Přidělí blok paměti.

void *allocate(std::size_t count);

Parametry

count
Počet prvků v poli, které se mají přidělit.

Návratová hodnota

Ukazatel na přidělený objekt.

Poznámky

cache_chunklist::cache_chunklist

Vytvoří objekt typu cache_chunklist.

cache_chunklist();

Poznámky

cache_chunklist::d eallocate

Uvolní zadaný počet objektů od úložiště počínaje zadanou pozicí.

void deallocate(void* ptr, std::size_t count);

Parametry

ptr
Ukazatel na první objekt, který se má uvolnit z úložiště.

count
Počet objektů, které se mají uvolnit z úložiště.

Poznámky

Viz také

<alokátory>