jepessen
18-07-2007, 00:43
Salve a tutti.
Vi dico prima che sono praticamente un poppante nel mondo del C++:D quindi abbiate pazienza...
Il mio problema attuale è il seguente: ho creato un oggetto vector<int>.
Ora, tramite il metodo push_back inserisco elementi alla fine, ma se voglio inserire un elemento in mezzo all'oggetto vector?
Per esempio
a = vector<int>
a.push_back(1);
a.push_back(2);
a.push_back(3);
A questo punto, voglio inserire il valore 4 fra 2 e 3, in maniera tale che il vettore risulti, alla fine
a[0] = 1
a[1] = 2
a[2] = 4
a[3] = 3
Devo utilizzare il metodo insert, e fin qui ci sono, ma devo utilizzare come argomento anche un iteratore, ed a questo punto la pulce al posto del mio cervello si mette a saltare come una pazza...
Da un pezzo di codice che ho trovato in rete
vector<char>::iterator theIterator = alphaVector.begin();
alphaVector.insert( theIterator, 4, 'C' );
questo codice mette 4 'C' all'inizio, ma io voglio metterlo invece in una posizione precisa. Devo forse fare qualcosa come theIterator += 2? Oppure posso direttamente dargli il valore che voglio theIterator = 3 (che si gestisce lui tramite overloading)?
Thanks per le risposte e scusate per la niubbaggine
Daniele
Vi dico prima che sono praticamente un poppante nel mondo del C++:D quindi abbiate pazienza...
Il mio problema attuale è il seguente: ho creato un oggetto vector<int>.
Ora, tramite il metodo push_back inserisco elementi alla fine, ma se voglio inserire un elemento in mezzo all'oggetto vector?
Per esempio
a = vector<int>
a.push_back(1);
a.push_back(2);
a.push_back(3);
A questo punto, voglio inserire il valore 4 fra 2 e 3, in maniera tale che il vettore risulti, alla fine
a[0] = 1
a[1] = 2
a[2] = 4
a[3] = 3
Devo utilizzare il metodo insert, e fin qui ci sono, ma devo utilizzare come argomento anche un iteratore, ed a questo punto la pulce al posto del mio cervello si mette a saltare come una pazza...
Da un pezzo di codice che ho trovato in rete
vector<char>::iterator theIterator = alphaVector.begin();
alphaVector.insert( theIterator, 4, 'C' );
questo codice mette 4 'C' all'inizio, ma io voglio metterlo invece in una posizione precisa. Devo forse fare qualcosa come theIterator += 2? Oppure posso direttamente dargli il valore che voglio theIterator = 3 (che si gestisce lui tramite overloading)?
Thanks per le risposte e scusate per la niubbaggine
Daniele