Ho un codice in cui di solito riempio un vettore con da 0 a 5000 elementi. So che la massima non supera mai i 5000. Invece di inizializzazione vettore più volte, vorrei fare solo una voltaC++, il modo più veloce per cancellare o cancellare un vettore
vector<struct> myvector;
myvector.reserve(5000);
Tuttavia, per riempire di nuovo il vettore, devo cancellare il vettore prima senza alterarne la portata. Quindi di solito chiamo myvector.clear();
Questa è un'operazione O (n). C'è qualcosa di semplice che posso fare per aumentare le prestazioni di questo o è il migliore che otterrà?
Assegna agli elementi esistenti una soluzione ragionevole? –
No, perché potrei avere 5000 elementi la prima volta e 3500 la volta successiva e alla fine ci sarebbero 1500 elementi vecchi ... – user788171
La "distruzione" di elementi è un problema? –