Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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 |
|---|---|
| zuteilen | Belegt einen Speicherblock. |
| freigeben | Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position. |
Anforderungen
Kopfball:<Allocators>
Namespace: stdext
cache_suballoc::zuweisung
Belegt einen Speicherblock.
void *allocate(std::size_t count);
Parameter
anzahl
Die Anzahl der zuzuweisenden Elemente im Array
Rückgabewert
Zeiger auf das zugewiesene Objekt.
cache_suballoc::cache_suballoc
Konstruiert ein Objekt vom Typ cache_suballoc.
cache_suballoc();
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.
anzahl
Die Anzahl von Objekten, deren Zuweisung zum Speicherplatz aufgehoben werden soll.