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.
Hinweise
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für