list oder vector



  • Ich möchte eine Reihe Objecte in ein Sammelobjekt packen. Das soll dann mit einem übergebenen Index auf das jeweilige Objekt zugreifen können.

    was brauche ich dafür?



  • Ach ja: Und die Anzahl der Objekte in dem Sammelobjekt soll dynamisch sein!



  • Ich würde dir hier eher zu std::vector<T> raten, da du schnell und effizient auf beliebige Elemente im vector zugreifen kannst (Random-Access-Iteratoren). Leider bringt es den Nachteil mit, dass nur Einfügen am Ende mit konstantem Aufwand läuft. Schwierig wird es, wenn du am Anfang und in der Mitte Elemente einfügen willst. Die zweite Wahl wäre hierfür std::deque<T>. Damit hast du die selben Vorteile wie bei den Vektoren, nur noch einen weiteren: Auch am Anfang ist das Einfügen nun effizient. Bei std::list<T> ist es anders. Es untersützt nur Bidirectiona-Iteratoren, daher sind Zugriffe per Index nicht möglich. Das Gute an list ist halt, dass du an jeder Position effizient Elemente einfügen kannst. Wie gesagt, ich würde zu einem vector raten, wenn du nur am Ende Elemente einfügen musst, aber schlußendlich ist es deine Entscheidung.



  • Ich denke dann ist vector das richtige. Das ist wirklich nur eine storage class. Die Reihenfolge ist egal. Es handelt sich um Rquests aus einer mysql Datenbank...


Anmelden zum Antworten