Wenn std :: vector und Freunde selbst Redimensionierung sind, bedeutet, dass, wenn ich einen Vektor wie so erklären:STL-Containern auf dem Stack und dem Heap
std::vector<string> myvec;
Dann wird es mehr Stapel resize verwenden, während :
std::vector<string> *myvec = new std::vector<string>();
Würde die Größe mit mehr Heap ändern?
Sie können auch einen Vektor 'fester Größe' implementieren, um all dies auf dem Stapel zu speichern. Es funktioniert ganz gut und kann eine Optimierung sein. Die Kosten sind jedoch, dass es nicht unendlich erweiterbar sein wird> Sie müssen sich mit einem Höchstwert begnügen, und es wird immer so viel Platz verbrauchen. –
Das ist interessant, also ist ein Vektor "fester Größe" vollständig auf dem Stapel? – Benj
Ich kenne keinen Vektor mit 'fester Größe', aber wenn Sie Ihre festen Daten auf dem Stack haben wollen, sollten Sie std :: tr1 :: array verwenden, was ähnlich zu sein scheint. – stefaanv