std::vector
-
Hallo,
so wie ich es verstanden habe, befinden sich die Daten eines STL Vektors nicht zusammenhaengend im Speicher (stimmt das?).
Gibt es dazu eine guenstige Methode alle Elemente in einen zusammenhaengenden Speicherbereich zu kopieren?Weiterhin konnte ich nicht herausfinden wie man einen STL Vektor mit mehreren Elementen, unterschiedlichen Types erstellt.
Ich waehre unendlich dankbar fuer eure Hilfe!
-
Sind zusammenhängend!
-
unterschiedliche tyen geht nicht.
es ist sehr beliebt, bei klassenhierarchien, immer nur zeiger auf die basisklasse zu nehmen und in den vector zu stopfen.
-
Oh - sehr gut. Vielen Dank fuer deine Antwort.
Echt dumm dass ich dazu keinerlei Information in der Literatur erhalten habe.Nun ist noch die Frage offen wie ich mehrere Elemente unterhschiedlichen Types in einen Vektor bekomme, ohne diese vorher in einer Struktur oder aehnlich zu kapseln.
Danke!
-
Ahh.. schade.
Vielen Dank euch allen!
-
Bartflechter schrieb:
Nun ist noch die Frage offen wie ich mehrere Elemente unterhschiedlichen Types in einen Vektor bekomme, ohne diese vorher in einer Struktur oder aehnlich zu kapseln.
Ist die Frage noch offen oder hast du volkards Antwort nicht gelesen?
std::vector<MyBaseClass*> myVector; // bzw std::vector<some_smart_ptr<MyBaseClass> > mySmartVector;
-
Alternativ kannst du es auch mit boost::variant versuchen.
http://www.boost.org/doc/html/variant.html