Sto scrivendo un piccolo pezzo di codice in cui dovrò inserire valori in un vettore STL C++ in un determinato punto a seconda dei valori negli elementi vettoriali . Sto usando la funzione insert()
per fare ciò. Mi rendo conto che quando voglio aggiungere un nuovo elemento alla fine del vettore, posso semplicemente usare push_back()
. Ma per mantenere il mio codice bello, vorrei usare esclusivamente insert()
, che prende come input l'iteratore che punta all'elemento dopo il punto di inserimento desiderato e il valore da inserire. Se il valore dell'iteratore passato come argomento è v.end()
, dove v
è il mio vettore, funzionerà allo stesso modo di push_back()
?Uso di vettore C++ :: insert() per aggiungere alla fine del vettore
Grazie mille!
Se si utilizza inserendo molto in un vettore, è possibile che si stia utilizzando la struttura dati errata. Considerare (ad esempio) l'utilizzo di un deque. Naturalmente se il vettore è piccolo, non ci saranno problemi. –
@Nick: Sì, lo farà. Un semplice esperimento avrebbe potuto dirti questo. –
@Space Non vedo come avrebbe potuto dirlo a un esperimento. Se fosse invalido, otterrebbe UB, nel qual caso il suo programma avrebbe potuto sembrare funzionare. –