Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.