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:
Zeiger verhält sich wie ein Zeiger auf Typ.
const_pointer verhält sich wie ein const Zeiger auf Typ.
Verweis verhält sich wie ein Verweis auf Typ.
const_reference verhält sich wie ein es zu Typ.
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
Konstruktoren
Konstruktoren verwenden, um allocator-Objekte zu erstellen. |
Typedefs
Ein Typ, der einen konstanten Zeiger auf den Typ des Objekts bereitstellt, verwaltete durch die Belegungsfunktion verwendet. |
|
Ein Typ, der einen konstanten Verweis in den Typ des - Objekts bietet, verwaltete durch die Belegungsfunktion verwendet. |
|
Ein ganzzahliger Typ mit Vorzeichen, der den Unterschied zwischen Werten von Zeigern auf den Typ des Objekts darstellen kann, verwaltete durch die Belegungsfunktion verwendet. |
|
Ein Typ, der einen Zeiger auf den Typ des Objekts bereitstellt, verwaltete durch die Belegungsfunktion verwendet. |
|
Ein Typ, der einen Verweis auf den Typ des - Objekts bietet, verwaltete durch die Belegungsfunktion verwendet. |
|
Ein ganzzahliger Typ ohne Vorzeichen, der die Länge jeder Sequenz darstellen kann, die ein Objekt der Vorlagenklasse allocator zuordnen kann. |
|
Ein Typ, der von der Belegungsfunktion verwaltet wird. |
Memberfunktionen
Sucht die Adresse eines Objekts, dessen Wert festgelegt wird. |
|
Ordnet einen Speicherblock zu, der genug, um eine angegebene Anzahl an Elementen mindestens speichern zu groß ist. |
|
Erstellt einen bestimmten Typ Objekt an einer angegebenen Adresse, die mit einem angegebenen Wert initialisiert wird. |
|
Gibt eine angegebene Anzahl Objekte aus Speicheranfang an einer angegebenen Position frei. |
|
Ruft einen Objektdestruktor auf, ohne den Arbeitsspeicher freizugeben, in dem das Objekt gespeichert wurde. |
|
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. |
|
Eine Struktur, die eine Belegungsfunktion für Objekte von einem Typ ermöglicht, Speicher für Objekte eines anderen Typs zuzuordnen. |
Operatoren
Weist ein allocator-Objekt an einen anderen allocator-Objekt zu. |
Anforderungen
Header: <memory>
Namespace: std
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek