std::vector wachsen lassen
-
Gibt es eine Funktion mit der man einen std::vector wachsen lassen kann? (außer mit Einfüge-Funktionen). Klar, ich kann es mit resize machen, aber ich würde gerne die original Wachs-Strategie benutzen. :p
-
Hallo,
die Größe eines Vektors vergrößerst du mit resize. Die Kapazität mit reserve.
Was meinst du mit "original Wachs-Strategie"?
-
Hallo,
wenn ich jetzt zum Beispiel einen vollen vector habe und dann ein Element mit push_back hinzufügen will, macht der vector ja nicht aktuelleGroesse + 1, sondern er benutzt eine Strategie wie aktuelleGroesse * 2 oder komplexere. Da wollte ich halt fragen ob man die auch manuell aufrufen kann.
-
ja, die Kapazitäten kannst du mit reserve vergrößern und mit capacity kannst du die aktuelle Kapazität erfahren.
-
so meinte ich das doch nicht. aber wird wohl nicht gehen.
-
cat15 schrieb:
wenn ich jetzt zum Beispiel einen vollen vector habe und dann ein Element mit push_back hinzufügen will, macht der vector ja nicht aktuelleGroesse + 1, sondern er benutzt eine Strategie wie aktuelleGroesse * 2 oder komplexere. Da wollte ich halt fragen ob man die auch manuell aufrufen kann.
Irrtum. Er macht aktuelleGröße + 1. Immer.
Die *Kapazität* wächst in einer durch den Vektor festgelegten Art und Weise (z.B. Kapazität * 1.5)
-
Ja, genau die will er ja aufrufen. Geht anscheinend nicht, ich hab mir das auch schon des öfteren gewünscht.