Hallo zusammen,
ich erzeuge wie folgt einen Vektor.
std::vector<int> tempVec;
später fülle ich den Vektor mit tempVec.push_back(....)
Meine Fragen sind:
1. Wird jetzt bei jedem push_back() Aufruf der Speicherbereich erweitert? Dies würde ja intern großen Kopieraufwand bedeuten bei großen Vektoren. Oder wird immer ein Speicherblock auf einmal reserviert und erst wenn dieser Speicherblock nicht ausreicht wird ein neuer Block reserviert?
2. Falls es nach der zweiten Methode funktioniert, wie sehe ich wie groß ein solcher Speicherblock ist? Und wie kann ich diese Blockgröße festlegen?
Vielen Dank
MfG
Perdan
ich erzeuge wie folgt einen Vektor.
std::vector<int> tempVec;
später fülle ich den Vektor mit tempVec.push_back(....)
Meine Fragen sind:
1. Wird jetzt bei jedem push_back() Aufruf der Speicherbereich erweitert? Dies würde ja intern großen Kopieraufwand bedeuten bei großen Vektoren. Oder wird immer ein Speicherblock auf einmal reserviert und erst wenn dieser Speicherblock nicht ausreicht wird ein neuer Block reserviert?
2. Falls es nach der zweiten Methode funktioniert, wie sehe ich wie groß ein solcher Speicherblock ist? Und wie kann ich diese Blockgröße festlegen?
Vielen Dank
MfG
Perdan