PDA

View Full Version : [C++]chiarimenti sulla classe vector


DesmoColo
08-02-2005, 15:51
Avrei bisogno di alcuni chiarimenti sull uso dei vettori in c++.

Considerando il seguente psuedocodice

vector <mioOggetto> vettoreDiOggetti

while (condizione)
{
vettoreDiOggetti.push_back(nuovoelem);
}

che cosa accadrebbe?
aggiungo ogni volta un nuovo elemento al vettore oppure sovrascrivo il precedente elemento?
devo per caso dire esplicitamente la dim iniziale del vettore?

Nel primo caso,se successivamente eseguo

vettoreDiOggetti.clear

e successivamente un nuovo ciclo identico a quello sopra, gli oggetti saranno reinseriti a partire dalla testa del vettore oppure continuera ad aggiungerli dal fondo?

non so se mi sono spiegato bene, cmq spero che qualcuno mi possa aiutare
Grazie

kk3z
08-02-2005, 17:46
1) con push_back aggiungi alla fine del vettore, che si espande dinamicamente per accogliere il nuovo oggetto (quindi non lo sovrascrivi). Se vuoi sovrascrivere l'ultimo elemento usa pop_back e in seguito push_back;
2) qualunque cosa tu faccia, il vettore con push_back ti inserirą SEMPRE gli oggetti alla fine. Nel caso che tu faccia vettore.clear(), la testa coinciderą con il fondo (dato che non ci sono oggetti)

DesmoColo
08-02-2005, 18:53
Grazie! Sei stato preciso ed esauriente.
Saluti