Freigeben über


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

<allocators>