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, class Max>
class cache_freelist
Paraméterek
Sz
A lefoglalni kívánt tömb elemeinek száma.
Max
Az ingyenes lista maximális méretét képviselő maximális osztály. Ez lehet max_fixed_size, max_none, max_unbounded vagy max_variable_size.
Megjegyzések
A cache_freelist osztálysablon sz méretű memóriablokkok ingyenes listáját tartalmazza. Ha az ingyenes lista megtelt, az operátor törlésével felszabadítja a memóriablokkokat. Ha az ingyenes lista üres, új operátort használ az új memóriablokkok lefoglalásához. Az ingyenes lista maximális méretét a Maximális paraméterben átadott osztály maximális osztálya határozza meg.
Minden memóriablokk sz bájtnyi használható memóriát tartalmaz, és az új és operátortörlésioperátorok által igényelt adatok.
Konstruktorok
| Konstruktor | Leírás |
|---|---|
| cache_freelist | Egy típusú cache_freelistobjektumot 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_freelist::lefoglalás
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_freelist::cache_freelist
Egy típusú cache_freelistobjektumot hoz létre.
cache_freelist();
cache_freelist::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.