Freigeben über


allocator Class

Die Vorlagenklasse beschreibt ein Objekt, das Speicherzuweisung und Freigeben für Objektarrays Typ Typ verwaltet.Ein Objekt der Klasse allocator ist das standardmäßige allocator-Objekt, das in Konstruktoren für einige Containervorlagenklassen in der C++-Standardbibliothek angegeben wird.

template <class Type> class allocator

Parameter

  • Typ
    Der Typ des Objekts, für den Speicher belegt oder freigegeben wird.

Hinweise

Alle Standardvorlagenbibliothekscontainer haben einen diesen Vorlagenparameter Standardwerte zu allocator.Vorlagenklasse allocator stellt mehrere Typdefinitionen, die relativ Fußgänger sind.Sie werden sparsam näher das Definieren.jedoch eine weitere Klasse mit denselben Member ausgewählten möglicherweise interessantere Alternativen aus.Das Erstellen eines Containers mit einem allocator-Objekt einer solchen Klasse gibt einzelnes Steuerelement über Zuordnung und dem Freigeben von Elementen, die von diesen Container gesteuert werden.

Beispielsweise kann ein allocator-Objekt zugeordnete Speicher in einem privaten Heap zu.Es zugeordnete möglicherweise Speicher auf einem Heap zu breit und erforderlichen nicht dem Standard entsprechende Zeiger, auf die zugeordneten Objekte zuzugreifen.Es kann auch an, durch die Typdefinitionen gibt es an, dass auf Elemente durch besondere Accessorobjekte, die freigegebenen Arbeitsspeicher verwalten, oder ausführen automatische Garbage Collection zugegriffen werden.Daher sollte eine Klasse, die Speicher mithilfe eines allocator-Objekts zuordnet, diese Typen zum Deklarieren des Zeigers verwenden und Objekte verweisen, wie die Container in der C++-Standardbibliothek ausführen.

Wenn Sie von der allocator-Klasse berechnen, müssen Sie eine rebind-Struktur bereitstellen, deren _Other-Typedef die neu-abgeleitete Klasse verweist.

Daher definiert eine Belegungsfunktion verwendet die folgenden Typen:

Dies Typ s geben das Formular an, mit dem Zeiger und Verweise für zugeordnete Elemente bearbeiten müssen.(allocator::pointer ist nicht notwendigerweise die identisch Typ* für alle allocator-Objekte, obwohl es diese offensichtliche Definition für Klasse allocator verfügt.)

Mitglieder

h8z741y5.collapse_all(de-de,VS.110).gifKonstruktoren

allocator

Konstruktoren verwenden, um allocator-Objekte zu erstellen.

h8z741y5.collapse_all(de-de,VS.110).gifTypedefs

const_pointer

Ein Typ, der einen konstanten Zeiger auf den Typ des Objekts bereitstellt, verwaltete durch die Belegungsfunktion verwendet.

const_reference

Ein Typ, der einen konstanten Verweis in den Typ des - Objekts bietet, verwaltete durch die Belegungsfunktion verwendet.

difference_type

Ein ganzzahliger Typ mit Vorzeichen, der den Unterschied zwischen Werten von Zeigern auf den Typ des Objekts darstellen kann, verwaltete durch die Belegungsfunktion verwendet.

pointer

Ein Typ, der einen Zeiger auf den Typ des Objekts bereitstellt, verwaltete durch die Belegungsfunktion verwendet.

Verweis

Ein Typ, der einen Verweis auf den Typ des - Objekts bietet, verwaltete durch die Belegungsfunktion verwendet.

size_type

Ein ganzzahliger Typ ohne Vorzeichen, der die Länge jeder Sequenz darstellen kann, die ein Objekt der Vorlagenklasse allocator zuordnen kann.

value_type

Ein Typ, der von der Belegungsfunktion verwaltet wird.

h8z741y5.collapse_all(de-de,VS.110).gifMemberfunktionen

address

Sucht die Adresse eines Objekts, dessen Wert festgelegt wird.

allocate

Ordnet einen Speicherblock zu, der genug, um eine angegebene Anzahl an Elementen mindestens speichern zu groß ist.

construct

Erstellt einen bestimmten Typ Objekt an einer angegebenen Adresse, die mit einem angegebenen Wert initialisiert wird.

deallocate

Gibt eine angegebene Anzahl Objekte aus Speicheranfang an einer angegebenen Position frei.

destroy

Ruft einen Objektdestruktor auf, ohne den Arbeitsspeicher freizugeben, in dem das Objekt gespeichert wurde.

max_size

Gibt die Anzahl von Elementen des Typs Type zurück, die durch ein Objekt der Klasse allocator zugeordnet werden können, bevor der freie Arbeitsspeicher oben verwendet wird.

rebind

Eine Struktur, die eine Belegungsfunktion für Objekte von einem Typ ermöglicht, Speicher für Objekte eines anderen Typs zuzuordnen.

h8z741y5.collapse_all(de-de,VS.110).gifOperatoren

operator=

Weist ein allocator-Objekt an einen anderen allocator-Objekt zu.

Anforderungen

Header: <memory>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Weitere Ressourcen

Belegungsfunktion Member

<memory> Member