Megosztás a következőn keresztül:


cache_suballoc osztály

Egy blokkelosztót határoz meg, amely egyetlen méretű memóriablokkokat foglal le és szabadít fel.

Szemantika

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

Paraméterek

Sz
A lefoglalni kívánt tömb elemeinek száma.

Megjegyzések

A cache_suballoc osztálysablon szabad listában tárolja a felszabadított memóriablokkokat kötetlen hosszúságú szabad listában, amellyel freelist<sizeof(Type), max_unbounded>a memóriablokkokat egy nagyobb, új operátorral lefoglalt adattömbből foglalja le, amikor az ingyenes lista üres.

Minden egyes adattömb több bájtnyi használható memóriát tartalmaz Sz * Nelts , és az új operátor által igényelt és az operátorok törléséhez szükséges adatokat. A lefoglalt adattömbök soha nem szabadulnak fel.

Konstruktorok

Konstruktor Leírás
cache_suballoc Egy típusú cache_suballocobjektumot hoz létre.

Tagfüggvények

Tagfüggvény Leírás
lefoglal Memóriablokkot foglal le.
felszabadítás Meghatározott számú objektumot szabadít fel a tárterületről egy adott pozíciótól kezdve.

Követelmények

Fejléc:<kiosztók>

Névtér: stdext

cache_suballoc::allocate

Memóriablokkot foglal le.

void *allocate(std::size_t count);

Paraméterek

gróf
A lefoglalni kívánt tömb elemeinek száma.

Visszaadott érték

Mutató a lefoglalt objektumra.

cache_suballoc::cache_suballoc

Egy típusú cache_suballocobjektumot hoz létre.

cache_suballoc();

cache_suballoc::d eallocate

Meghatározott számú objektumot szabadít fel a tárterületről egy adott pozíciótól kezdve.

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

Paraméterek

ptr
Mutató az első tárolóból felszabadítandó objektumra.

gróf
A tárolóból felszabadítandó objektumok száma.

Lásd még

<kiosztók>