Condividi tramite


deque (STL/CLR)

La classe modello descrive un oggetto che comandi di una sequenza variare lunghezza di elementi che ha accesso casuale. Utilizzare il contenitore deque per gestire una sequenza di elementi simile a un blocco contiguo di archiviazione, ma che possono aumentare o ridurre a entrambe le estremità senza la necessità di copiare tutti gli elementi rimanenti. Pertanto può implementare in modo efficiente double-ended queue. (Il nome).

In descrizione di seguito, GValue sono gli stessi di Value eccetto l'ultimo sia un tipo di riferimento, nel qual caso viene Value^.

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Parametri

  • Coefficiente G
    Il tipo generico di elemento nella sequenza selezionata.

  • Valore
    Tipo di un elemento nella sequenza controllata.

Membri

Definizione del tipo

Descrizione

deque::const_iterator (STL/CLR)

Il tipo di un iteratore costante della sequenza controllata.

deque::const_reference (STL/CLR)

Il tipo di un riferimento costante a un elemento.

deque::const_reverse_iterator (STL/CLR)

Il tipo di iteratore inverso costante per la sequenza selezionata.

deque::difference_type (STL/CLR)

Il tipo di una distanza con segno tra due elementi.

deque::generic_container (STL/CLR)

Il tipo dell'interfaccia generica del contenitore.

deque::generic_iterator (STL/CLR)

Il tipo di iteratore per l'interfaccia generica del contenitore.

deque::generic_reverse_iterator (STL/CLR)

Il tipo di iteratore inverso per l'interfaccia generica del contenitore.

deque::generic_value (STL/CLR)

Il tipo di elemento dell'interfaccia generica del contenitore.

deque::iterator (STL/CLR)

Il tipo di un iteratore della sequenza controllata.

deque::reference (STL/CLR)

Il tipo di un riferimento a un elemento.

deque::reverse_iterator (STL/CLR)

Il tipo di iteratore inverso per la sequenza selezionata.

deque::size_type (STL/CLR)

Il tipo di una distanza con segno tra due elementi.

deque::value_type (STL/CLR)

Il tipo di un elemento.

Funzione membro

Descrizione

deque::assign (STL/CLR)

Sostituisce tutti gli elementi.

deque::at (STL/CLR)

Accede a un elemento in una posizione specificata.

deque::back (STL/CLR)

Accede all'ultimo.

deque::begin (STL/CLR)

Definisce l'inizio della sequenza controllata.

deque::clear (STL/CLR)

Rimuove tutti gli elementi.

deque::deque (STL/CLR)

Costruisce un oggetto contenitore.

deque::empty (STL/CLR)

Consente di verificare se non sono presenti elementi.

deque::end (STL/CLR)

Definisce la fine della sequenza controllata.

deque::erase (STL/CLR)

Rimuove gli elementi alle posizioni specificate.

deque::front (STL/CLR)

Accede al primo elemento.

deque::insert (STL/CLR)

Aggiunge elementi a una posizione specificata.

deque::pop_back (STL/CLR)

Rimuove l'ultimo elemento.

deque::pop_front (STL/CLR)

Rimuove il primo elemento.

deque::push_back (STL/CLR)

Aggiunge un nuovo ultimo elemento.

deque::push_front (STL/CLR)

Aggiunge un nuovo primo elemento.

deque::rbegin (STL/CLR)

Definisce l'inizio della sequenza inversa controllata.

deque::rend (STL/CLR)

Definisce la fine della sequenza inversa controllata.

deque::resize (STL/CLR)

Modifica il numero di elementi.

deque::size (STL/CLR)

Conta il numero di elementi.

deque::swap (STL/CLR)

Scambia il contenuto di due contenitori.

deque::to_array (STL/CLR)

Copia la sequenza selezionata una nuova matrice.

Proprietà

Descrizione

deque::back_item (STL/CLR)

Accede all'ultimo.

deque::front_item (STL/CLR)

Accede al primo elemento.

Operatore

Descrizione

deque::operator!= (STL/CLR)

Determina se due oggetti deque non sono uguali.

deque::operator[] (STL/CLR)

Accede a un elemento in una posizione specificata.

operator< (deque) (STL/CLR)

Determina se un oggetto di deque è inferiore a un altro oggetto di deque.

operator<= (deque) (STL/CLR)

Determina se un oggetto di deque è minore o uguale a un altro oggetto di deque.

operator= (deque) (STL/CLR)

Sostituisce la sequenza selezionata.

operator== (deque) (STL/CLR)

Determina se un oggetto di deque equivale a un altro oggetto di deque.

operator> (deque) (STL/CLR)

Determina se un oggetto di deque è maggiore di un altro oggetto di deque.

operator>= (deque) (STL/CLR)

Determina se un oggetto di deque è maggiore o uguale a un altro oggetto di deque.

Interfacce

Interfaccia

Descrizione

ICloneable

Duplicare un oggetto.

IEnumerable

Sequenza degli elementi.

ICollection

Gestire il gruppo di elementi.

IEnumerable

Sequenza dagli elementi tipizzati.

ICollection

Gestire il gruppo di elementi tipizzati.

IList

Gestire il gruppo ordinato di elementi tipizzati.

IDequeValue<>

Gestire il contenitore generico.

Note

L'oggetto alloca e libera la memoria per la sequenza che controlla da una matrice archiviata handles che definiscono i blocchi di elementi di Value. La matrice aumentano su richiesta. La crescita si verifica in modo che il costo di anteporre o di aggiungere un nuovo elemento tempo è costante e nessun elemento rimanente è disturbato. È inoltre possibile eliminare un elemento a entrambe le estremità nel tempo costante e senza pregiudicare gli elementi rimanenti. Pertanto, un deque è un buon candidato per il contenitore sottostante per classe modello queue (STL/CLR) o classe modello stack (STL/CLR).

Un oggetto di deque supporta gli iteratori di accesso casuale, è possibile fare riferimento a un elemento fornito direttamente la posizione numerica, contante da zero al primo elemento (precedente), a deque::size (STL/CLR)() - 1 per l'ultimo elemento (indietro. Significa anche che un deque è un buon candidato per il contenitore sottostante per classe modello priority_queue (STL/CLR).

Un iteratore di deque memorizzare l'handle al relativo oggetto collegato di deque, con la polarizzazione dell'elemento che definisce. È possibile utilizzare gli iteratori solo con i relativi oggetti contenitore collegati. La polarizzazione di un elemento di not deque è necessariamente lo stesso effetto della posizione. Il primo elemento inserito contiene zero diagonali, l'elemento aggiunto seguente è 1 diagonali, ma l'elemento anteposto seguente è -1 diagonale.

Inserendo o cancellare gli elementi a entrambe le estremità fa not modifica il valore di un elemento memorizzato in qualsiasi polarizzazione valida. Inserendo o deselezionando un elemento interno, tuttavia, la modifica di can il valore dell'elemento archiviato in una polarizzazione specificata, pertanto il valore definito da un iteratore può anche essere modificato. (Il contenitore può essere necessario copiare elementi verso l'alto o verso il basso per creare un foro prima di accodamento o per riempire un foro dopo un erase). Tuttavia, un iteratore di deque rimane valido a condizione che la polarizzazione definire un elemento valido. Inoltre, un iteratore rimane valido dereferencable -- è possibile utilizzarlo per accedere e modificare il valore dell'elemento che definisce -- a condizione che la polarizzazione è pari a polarizzazione dell'iteratore restituito da end().

Clearing or rimozione di un elemento chiama il distruttore per il valore archiviato. Eliminare il contenitore di cancellare tutti gli elementi. Pertanto, un contenitore del cui tipo di elemento è una classe di riferimento garantisce che nessun elemento sopravviva il contenitore. Nota, tuttavia, che un contenitore handles fa not eliminato i relativi elementi.

Requisiti

Intestazione: <cliext/deque>

Spazio dei nomi: cliext

Vedere anche

Riferimenti

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Altre risorse

Riferimenti della libreria STL/CLR