Allocators
Selektory są używane przez bibliotekę STL do obsługi alokacji i dezalokacji elementów składowych w pojemnikach.Wszystkie kontenery STL mieć 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 szablonów przewiduje Domyślna implementacja programu przydzielania.W większości przypadków to domyślny program przydzielania powinna wystarczyć.Aby uzyskać więcej informacji na temat programu przydzielania domyślne zobacz allocator — Klasa.
Pisanie własnych przydzielania
Używa domyślnego programu przydzielania new i delete Aby przydzielić i zwolnić pamięć.Jeśli chcesz skorzystać z innej metody alokacji pamięci, takich jak użycie pamięci współużytkowanej, należy utworzyć swój własny program przydzielania.
Każdy program przydzielania używane z kontenerów STL należy zaimplementować następujące definicje typów:
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
Ponadto wszelkie alokatora używane z kontenerów 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 dotyczących tych definicje typów i metod, zobacz allocator — Klasa.