Allocatori
Gli allocatori vengono utilizzati dalla libreria STL (standard template per gestire l'allocazione e la deallocazione degli archivi degli elementi in contenitori.Tutti i contenitori STL dispongono di un argomento di modello di tipo allocator<Type>, in cui Type rappresenta il tipo contenitore.Ad esempio, la classe di vettori viene dichiarata come segue:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
La libreria STL (standard template library) fornisce un'implementazione predefinita per un allocatore.Nella maggior parte dei casi, questo allocatore predefinito deve essere sufficiente.per ulteriori informazioni sull'allocatore predefinito, vedere allocator Class.
Scrittura di allocatore
Gli utilizzi predefiniti new e delete dell'allocatore allocare e liberare memoria.Se si desidera utilizzare un metodo diverso di allocazione della memoria, ad esempio utilizzando memoria condivisa, quindi necessario creare diventi proprietaria l'allocatore.
Qualsiasi allocatore utilizzato con i contenitori STL deve implementare le seguenti definizioni di tipo:
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
Inoltre, qualsiasi allocatore utilizzato con i contenitori STL deve implementare i metodi seguenti:
Costruttore |
deallocate |
costruttore di copia |
destroy |
distruttore |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
Per ulteriori informazioni su tali definizioni dei tipi e metodi, vedere allocator Class.