Condividi tramite


Classe deque

Dispone gli elementi di un determinato tipo in una disposizione lineare e, come un vettore, consente l'accesso casuale rapido a qualsiasi elemento ed efficienti inserimenti ed eliminazioni dietro al contenitore. Tuttavia, a differenza di un vettore, la classe deque supporta anche l'inserimento e l'eliminazione efficiente davanti al contenitore.

template <
    class Type, 
    class Allocator=allocator<Type> 
>
    class deque

Parametri

  • Type
    Tipo di dati degli elementi da archiviare nel deque.

  • Allocator
    Tipo che rappresenta l'oggetto allocatore memorizzato che include i dettagli sull'allocazione e sulla disallocazione del deque e della memoria. Questo argomento è opzionale, e il valore predefinito è allocator<Type>.

Note

La scelta del tipo contenitore deve essere basata in generale sul tipo di ricerca e di inserimento richiesto dall'applicazione. I Vettori dovrebbero essere i contenitori preferiti per gestire una sequenza quando l'accesso casuale a qualsiasi elemento è un extra e gli inserimenti o le eliminazioni di elementi sono richiesti solo alla fine di una sequenza. Le prestazioni del contenitore list sono superiori quando gli inserimenti e le eliminazioni efficienti (in tempo costante) in qualsiasi posizione all'interno della sequenza sono un extra. Tali operazioni al centro della sequenza richiedono copie di elementi e assegnazioni proporzionali al numero di elementi della sequenza (tempo lineare).

La riallocazione di deque si verifica quando una funzione interna deve inserire o eliminare elementi della sequenza:

  • Se un elemento viene inserito in una sequenza vuota, o se un elemento viene rimosso per lasciare vuota una sequenza, allora gli iteratori restituiti da begin e end diventano non validi.

  • Se un elemento viene inserito nella prima posizione di deque, allora tutti gli iteratori, ma nessun riferimento, che definisce gli elementi esistenti diventano validi.

  • Se un elemento viene inserito alla fine di deque, allora end e tutti gli iteratori, ma nessun riferimento, che definisce gli elementi esistenti diventano validi.

  • Se un elemento viene cancellato all'inizio di deque, solo l'iteratore e i riferimenti all'elemento cancellato diventano non validi.

  • Se l'ultimo elemento viene rimosso dalla fine del deque, solo l'iteratore nell'elemento finale e i riferimenti all'elemento eliminato diventano non validi.

In caso contrario, l'inserimento o l'eliminazione di un elemento invalida tutti gli iteratori e i riferimenti.

Costruttori

deque

Costruisce un deque.. Molti costruttori sono forniti per installare il contenuto di un nuovo deque in modi diversi: vuoto; caricato con un numero specificato di elementi vuoti; contenuto spostato o copiato da un altro deque; contenuto copiato o spostato mediante un iteratore; e un elemento copiato in deque _Count volte. Alcuni costruttori consentono l'utilizzo di un allocator personalizzato per creare elementi.

Definizioni typedef

allocator_type

Un tipo che rappresenta la classe allocator per l'oggetto deque.

const_iterator

Un tipo che fornisce un iteratore ad accesso casuale che può avere accesso e leggere elementi in deque come const.

const_pointer

Un tipo che fornisce un puntatore a un elemento in un deque come const.

const_reference

Un tipo che fornisce un riferimento a un elemento in un deque per leggere e fare altre operazioni come un const.

const_reverse_iterator

Un tipo che fornisce un iteratore ad accesso casuale che può avere accesso e leggere elementi in deque come const. Il deque viene visualizzato al contrario. Per ulteriori informazioni, vedere Classe reverse_iterator.

difference_type

Un tipo che fornisce la differenza tra due iteratori di accesso casuale che fanno riferimento agli elementi all'interno dello stesso deque.

iteratore

Un tipo che fornisce un iteratore ad accesso casuale che può leggere o modificare qualsiasi elemento in un deque.

puntatore

Un tipo che fornisce un puntatore a un elemento in un deque.

riferimenti

Un tipo che fornisce un riferimento a un elemento archiviato in un deque.

reverse_iterator

Un tipo che fornisce un iteratore ad accesso casuale che può leggere o modificare un elemento in un deque. Il deque viene visualizzato in ordine inverso.

size_type

Un tipo che conta il numero di elementi in un deque.

Tipo di valore

Un tipo che rappresenta il tipo di dati archiviati nella deque.

Funzioni del membro

assign

Elimina gli elementi da un deque e copia una nuova sequenza di elementi al target deque.

at

Restituisce un riferimento all'elemento in corrispondenza della posizione specificata nella deque.

back

Restituisce un riferimento all'ultimo elemento della deque.

begin

Restituisce un iteratore ad accesso casuale che punta al primo elemento nella deque.

deque::cbegin

Restituisce un iteratore const al primo elemento nel deque.

deque::cend

Restituisce iteratore const ad accesso casuale che punta appena oltre la fine della deque.

clear

Cancella tutti gli elementi di un deque.

deque::crbegin

Restituisce un iteratore const ad accesso casuale al primo elemento in un deque visualizzato in ordine inverso.

deque::crend

Restituisce un iteratore const ad accesso casuale al primo elemento in un deque visualizzato in ordine inverso.

deque::emplace

Inserisce un elemento costruito sul posto in deque alla posizione specificata.

deque::emplace_back

Aggiunge un elemento costruito sul posto alla fine della deque.

deque::emplace_front

Aggiunge un elemento costruito sul posto all'inizio della deque.

empty

Restituisce true se la deque contiene zero elementi e false se contiene uno o più elementi.

end

Restituisce un iteratore ad accesso casuale che punta appena oltre la fine della deque .

Cancellare

Rimuove un elemento o un intervallo di elementi in una deque da specifiche posizioni.

front

Restituisce un riferimento al primo elemento in una deque.

get_allocator

Restituisce una copia dell'oggetto allocator che viene utilizzato per costruire la deque.

Inserisci

Inserisce un elemento, diversi elementi, o un intervallo di elementi nella deque in una specifica posizione.

max_size

Restituisce la lunghezza massima possibile della deque.

pop_back

Cancella l'elemento alla fine della deque.

pop_front

Cancella l'elemento all'inizio della deque.

push_back

Aggiunge un elemento alla fine della deque.

push_front

Aggiunge un elemento all'inizio della deque .

rbegin

Restituisce un iteratore ad accesso casuale al primo elemento in una deque rovesciata.

rend

Restituisce un iteratore ad accesso casuale che punta appena oltre l'ultimo elemento di una deque rovesciata.

resize

Specifica una nuova dimensione per una deque.

deque::shrink_to_fit

Ignora un eccesso di capacità.

size

Restituisce il numero di elementi nella deque.

scambio

Scambia gli elementi di due deque.

Operatori

operator[]

Restituisce un riferimento all'elemento deque a una posizione specificata.

deque::operator=

Sostituisce gli elementi della deque con una copia di un'altra deque.

Requisiti

Header: <deque>

Vedere anche

Riferimenti

Sicurezza dei thread nella libreria standard C++

Libreria di modelli standard

Altre risorse

<deque> membri

membri di classe deque