Allocators
Zuweisungen werden von der Standardvorlagenbibliothek verwendet, um die Belegung und Freigabe von Elementspeichern in den Containern zu behandeln. Alle STL-Container haben ein Vorlagenargument des Typs allocator<Type>, wobei Type den Typ des Containerelements darstellt. Beispielsweise wird die Vektorklasse deklariert, wie folgt:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
Die Standard Template Library stellt eine Standardimplementierung für eine Zuweisung zur Verfügung. In den meisten Fällen sollte diese Standardzuweisung ausreichend. Weitere Informationen über die Standardzuweisung, finden Sie unter allocator-Klasse.
Schreiben eigener Zuweisung
Die Standard-Zuweisungsverwendung new und delete, Arbeitsspeicher reserviert und freizugeben. Wenn Sie eine andere Methode der Speicherbelegung, wie die Verwendung von freigegebenen Speicherbereichen, dann Sie verwenden möchten, muss eine eigene Zuordnung erstellen.
Jede beliebige Zuweisung, die in STL-Containern verwendet wird, muss die folgenden Typen implementieren:
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
Darüber hinaus muss jede beliebige Zuweisung, die in STL-Containern verwendet wird, die folgenden Methoden implementieren:
Konstruktor |
deallocate |
Kopier-Konstruktor |
destroy |
Destruktor |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Weitere Informationen über diese Typdefinitionen und Methoden, finden Sie unter allocator-Klasse.