cache_suballoc-Klasse
Definiert eine Blockzuweisung, die Speicherblöcke einheitlicher Größe zuweist und freigibt.
Syntax
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
Parameter
Sz
Die Anzahl der zuzuweisenden Elemente im Array
Hinweise
Die cache_suballoc Klassenvorlage speichert zugeordnete Speicherblöcke in einer kostenlosen Liste mit ungebundener Länge, Verwendung freelist<sizeof(Type), max_unbounded>
und Unterzuweisung von Speicherblöcken aus einem größeren Block, der dem Operator neu zugeordnet ist, wenn die kostenlose Liste leer ist.
Jeder Block enthält Sz * Nelts
Bytes des verwendbaren Speichers, und die Daten, die der Operator neu und der Operator löschen erfordern. Zugeordnete Blöcke werden niemals freigegeben.
Konstruktoren
Konstruktor | Beschreibung |
---|---|
cache_suballoc | Konstruiert ein Objekt vom Typ cache_suballoc . |
Memberfunktionen
Memberfunktion | Beschreibung |
---|---|
allocate | Belegt einen Speicherblock. |
deallocate | Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position. |
Anforderungen
Header:<allocators>
Namespace: stdext
cache_suballoc::zuweisung
Belegt einen Speicherblock.
void *allocate(std::size_t count);
Parameter
count
Die Anzahl der zuzuweisenden Elemente im Array
Rückgabewert
Zeiger auf das zugewiesene Objekt.
Hinweise
cache_suballoc::cache_suballoc
Konstruiert ein Objekt vom Typ cache_suballoc
.
cache_suballoc();
Hinweise
cache_suballoc::d eallocate
Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position.
void deallocate(void* ptr, std::size_t count);
Parameter
ptr
Ein Zeiger auf das erste Objekt, dessen Zuweisung zum Speicher aufgehoben werden soll.
count
Die Anzahl von Objekten, deren Zuweisung zum Speicherplatz aufgehoben werden soll.