Allocators
Allocators používají standardní šablonu knihovny zpracování přidělování a navracení zpět prvky úložišť v kontejnerech.Všechny nádoby STL jste šablonu argument typu allocator<Type>, kde Type představuje typ prvku kontejneru.Například třída vector je deklarován takto:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
Standardní šablona knihovny obsahuje výchozí implementace přidělování.Ve většině případů by měly být dostatečné přidělování této výchozí.Další informace o přidělování výchozí viz allocator Class.
Psaní vlastních přidělování
Používá výchozí přidělování new a delete přidělení a navrátit paměti.Chcete-li použít jinou metodu přidělení paměti, například pomocí sdílené paměti, je třeba vytvořit vlastní přidělování.
Veškeré přidělování s kontejnery STL musí implementovat následující definice typu:
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
Kromě toho všechny přidělování s kontejnery STL musí implementovat následující metody:
Konstruktor |
deallocate |
Kopírovat konstruktor |
destroy |
Destructor |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Další informace o tyto definice typu a metody viz allocator Class.