leggere ed eventualmente memorizzare le due categorie di classi contenitore . Li Memorizzazione mai fatto male a nessuno e sarà di beneficio per voi nel lungo periodo
semplici contenitori : . Vector <> , liste di < > , <> pila , coda di <>, deque < >
associativi Contenitori: mappa < > , set < > , multimap < > , multinsieme < >
2
Ulteriori informazioni su tutte le classi di container per essere mostrato come un semplice contenitore può essere utilizzato. Questo tutorial illustrerà i metodi di vector < > .
3
Assegnare una dimensione al vettore . È possibile assegnare dimensioni vettore mediante uno dei costruttori di overload . Inoltre , è possibile utilizzare la riserva ( ) o assegnare ( ) metodo , dopo aver dichiarato un vettore . Tutti i metodi sono riportati di seguito :
vettore arr ( 50 ) ; //specificare la capacità
vettore arr ( 50 , 17) ; //specificare le capacità e fornire tutti gli elementi di un valore di default ( 17 ) per vettore arr2 ( arr ) ; //inizializza un vettore di un altro vettore
vettore vec ;
vec.reserve ( 100); //o l'utilizzo di riserva () per allocare la memoria
4
iterare attraverso un vettore . È possibile farlo utilizzando l'indice di riferimento [ operatore ] o tramite iteratori , che sono una caratteristica speciale STL . Le loro capacità sono oltre lo scopo di questo tutorial . I seguenti frammenti di codice mostrano la dimensione ( ) , iniziano ( ) e membri di fine ( ) :
//utilizzando l'indicizzazione normale
for (int i = 0; } cout i
//utilizzando iteratori
per ( vector < > :: iterator iter = vec.begin (); iter = vec.end (); ! iter + + ) { cout
}
5
Aggiungi un elemento alla fine , rimuovere tale elemento , inserire un elemento nel mezzo e restituire la dimensione del contenitore È possibile eseguire tutte queste funzioni utilizzando il push_back ( ) , pop_back ( ) , i metodi insert ( ) e size () , rispettivamente , come mostrato di seguito : .
vec.push_back ( 35) ;
vec.pop_back ();
vec.insert (pos , 19 ) ; //pOS è la posizione
cout Pagina 6
Cancella gli elementi all'interno un intervallo, cancellare il resto degli elementi e fare in modo che il vettore è vuoto . Per queste , è possibile utilizzare le funzioni membro erase ( ) , clear () e empty () .
vec.erase ( vec.begin ( ) + 5 , vec.end ( ) - 5) ; //cancellare tutti gli elementi tranne il primo e l' ultimo 5
vec.clear ( ) ; //cancellare tutti gli elementi
se (true == vec.empty ( ) ) { ... } //controllo se vettore è vuoto
7
Scopri tutte le funzioni membro offerti in vector < > Molti sono comuni in tutto il resto delle classi contenitore : .
_Destroy ( ) , _Eq ( ) , _Lt ( ) , _Ucopy ( ) , _Ufill ( ) , assegnare ( ) , a ( ) , begin () , indietro ( ) , capacità ( ) , clear () , empty () , end () , erase ( ) , frontale ( ) , get_allocator ( ) , max_size ( ) , insert ( ) , operatore = , operatore [ ] , pop_back ( ) , push_back ( ) , rbegin ( ) , rend ( ) , riserva ( ) , ridimensionare ( ) , size () , swap ( ) , ~ vettore ( ) .
8
Assicurati di includere il file di intestazione vector.h nella parte superiore del file di origine prima di testare il codice per te stesso . ogni classe contenitore ha un proprio file di intestazione . L'elenco < > richiederà list.h , una coda < > richiederà queue.h , e così via .
Programmazione © www.354353.com