Verkleinerung eines std::Vector: Der Swap-Trick
Um die Kapazität eines std::vector zu reduzieren, wenn der reservierte Platz nein ist Ist dies nicht länger erforderlich, kann der von Scott Meyers in seinem Buch „Effective STL“ empfohlene „Swap-Trick“ angewendet werden. So funktioniert es:
vector<Person> new_persons(size_of_new_vector);
new_persons.swap(persons);
Nach dem Austausch wird der ursprüngliche Vektor, Personen, „passend verkleinert“, was bedeutet, dass er nur den Speicher belegt, der für erforderlich ist die Anzahl der Elemente, die er derzeit enthält.
Diese Technik nutzt den Kopierkonstruktor des Vektors, der Speicher nur für die kopierten Elemente zuweist und so die überschüssige Kapazität des Originalvektors effektiv reduziert.
Das obige ist der detaillierte Inhalt vonSo verkleinern Sie einen std::vector auf seine tatsächliche Größe: Der Swap-Trick erklärt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!