allocator Class
La classe modello descrive un oggetto che gestisce l'allocazione di archiviazione e liberare per le matrici di oggetti di tipo Tipo.Un oggetto di classe allocator è l'oggetto predefinito di un allocatore specificato nei costruttori per diverse classi modello del contenitore nella libreria C++ standard.
template <class Type> class allocator
Parametri
- Type
Il tipo di archiviazione dell'oggetto per il quale viene allocando o rilasciato.
Note
Tutti i contenitori di una libreria di modelli standard hanno un parametro di modello che imposta come valore predefinito a allocator.La classe modello allocator fornisce diverse definizioni dei tipi che sono invece pedonali.Solo sembrano opportuno definire.Ma un'altra classe con gli stessi membri è possibile scegliere le alternative più interessanti.Costruire un contenitore con un oggetto allocatore di tale classe fornisce un singolo controllo sull'allocazione e esente dagli elementi estratti dal contenitore.
Ad esempio, un oggetto allocatore è possibile allocare la memoria in un heap privata.È possibile allocare la memoria rispetto a un heap, richiedente a puntatori non standard per accedere agli oggetti allocati.È inoltre possibile specificare, con definizioni di tipo, che fornisce gli elementi di accedere a particolari oggetti della funzione di accesso che gestisce la memoria condivisa, o esegue la Garbage Collection automatico.Pertanto, la classe che viene allocata la memoria utilizzando un oggetto allocatore deve utilizzare questi tipi per la dichiarazione di oggetti di riferimento e del puntatore, quali i contenitori della libreria C++ standard fanno.
Quando si deriva dalla classe di allocatore, è necessario fornire una struttura di riassociare, in cui il typedef di _Other fa riferimento alla classe appena derivata.
Pertanto, un allocatore definisce i seguenti tipi:
puntatore si comporta come un puntatore a Tipo.
const_pointer si comporta come un puntatore const a Tipo.
riferimento si comporta come un riferimento a Tipo.
const_reference si comporta come un riferimento const a Tipo.
Questo Tipooggetti specifica la forma dei puntatori e i riferimenti devono adottare per gli elementi allocati.(allocator::pointer non è necessariamente gli stessi Tipo* per tutti gli oggetti di un allocatore, anche se dispone di questa definizione ovvia per classe allocator).
Membri
Costruttori
Costruttori utilizzati per creare gli oggetti di allocator. |
Definizioni typedef
Un tipo che fornisce un puntatore costante al tipo di oggetto è gestito da allocatore. |
|
Un tipo che fornisce un riferimento costante al tipo di oggetto è gestito da allocatore. |
|
Un tipo integrale con segno che può rappresentare la differenza tra i valori dei puntatori al tipo di oggetto è gestito da allocatore. |
|
Un tipo che fornisce un puntatore al tipo di oggetto è gestito da allocatore. |
|
Un tipo che fornisce un riferimento al tipo di oggetto è gestito da allocatore. |
|
Un tipo integrale senza segno che può rappresentare la lunghezza di una sequenza che un oggetto classe modello allocator in corso di allocazione. |
|
Un tipo gestito da allocatore. |
Funzioni membro
Trova l'indirizzo di un oggetto il cui valore specificato. |
|
Alloca un blocco di memoria sufficiente per l'archiviazione almeno un numero specificato di elementi. |
|
Costruisce un tipo specifico all'oggetto a un indirizzo specificato che viene inizializzato con un valore specificato. |
|
Libera un numero specificato di oggetti dall'inizio di archiviazione a una posizione specificata. |
|
Chiama un distruttore di oggetti senza rilasciare la memoria in cui l'oggetto è stato archiviato. |
|
Restituisce il numero di elementi di tipo Type che possono essere allocati da un oggetto di classe allocator prima che la memoria venga esaurita. |
|
Una struttura che consente a un allocatore per gli oggetti di un tipo per allocare la memoria per oggetti di un altro tipo. |
Operatori
Assegna un oggetto di allocator a un altro oggetto di allocator. |
Requisiti
Header: <memory>
Spazio dei nomi: deviazione standard
Vedere anche
Riferimenti
Thread safety della libreria C++ standard