Allocators
Allocators są używane przez standardowe biblioteki szablonów do obsługi alokacji i dezalokacji elementów składowych w pojemnikach.Wszystkie pojemniki STL mają argument szablonu typu allocator<Type>, gdzie Type reprezentuje typ kontenera.Na przykład klasa vector jest zadeklarowany w następujący sposób:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
Standardowa biblioteka szablonu przewiduje domyślna Implementacja programu przydzielania.W większości przypadków to alokatora domyślne powinny być wystarczające.Więcej informacji dotyczących programu przydzielania domyślnej, zobacz allocator Class.
Pisanie własnych alokatora
Używa domyślnej program przydzielania new i delete do przydzielania i dezalokuj pamięć.Jeśli chcesz użyć innej metody alokacji pamięci, takich jak użycie pamięci współużytkowanej należy utworzyć własny program przydzielania.
Każdy program przydzielania używane z kontenerami STL musi implementować następujące definicje typów:
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
Ponadto każdy program przydzielania używane z kontenerami STL musi implementować następujące metody:
Konstruktor |
deallocate |
Konstruktor kopiujący |
destroy |
Destruktor |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Aby uzyskać więcej informacji na te definicje typów i metod, zobacz allocator Class.