Ho una domanda sullo std :: vector.Pulisci il vettore ogni iterazione del ciclo. Qual è il modo più efficiente di memoria?
Ho un algoritmo molto intensivo di memoria in cui prevedo che prevedere le dimensioni dei vettori e riservare abbastanza memoria per i vettori in anticipo mi aiuterà molto a ridurre l'utilizzo della memoria.
Quale dei seguenti è meglio:
for (...) {
std::vector<Type> my_vector;
my_vector.reserve(stuff_count);
// Do stuff , and append stuff to my_vector.
}
O questo:
std::vector my_vector;
for (...) {
my_vector.clear();
my_vector.reserve(stuff_count);
// Do stuff , and append stuff to my_vector.
}
La prego di dirmi che è meglio, o se c'è un modo migliore di fare le cose.
Grazie mille in anticipo!
Questa non è una domanda di tipo opinione. Dovresti misurare la differenza per il tuo particolare sistema. –