Ich habe eine Frage zum std :: vector.Reinigen Sie jede Schleifeniteration mit einem Vektor. Was ist der speichereffizienteste Weg?
Ich habe einen sehr speicherintensiven Algorithmus, bei dem ich voraussage, dass die Vorhersage von Vektorgrößen und die Reservierung von genügend Speicher für die Vektoren im Voraus mir sehr dabei helfen werden, den Speicherverbrauch zu reduzieren.
Welche der folgenden ist besser:
for (...) {
std::vector<Type> my_vector;
my_vector.reserve(stuff_count);
// Do stuff , and append stuff to my_vector.
}
Oder diese:
std::vector my_vector;
for (...) {
my_vector.clear();
my_vector.reserve(stuff_count);
// Do stuff , and append stuff to my_vector.
}
Sagen Sie mir bitte, was am besten ist, oder wenn es eine noch bessere Möglichkeit Sachen zu tun.
Vielen Dank im Voraus!
Dies ist keine Frage zum Meinungstyp. Sie sollten den Unterschied für Ihr spezielles System messen. –