C++ Arrays und generics?



  • Ich benutze Listen eigentlich hauptsächlich dann, wenn ich erreichen will, dass Iteratoren nach der Manipulation des Containers gültig bleiben. Hier ist std::list m.E.n. der günstigste Container.



  • Tachyon schrieb:

    Ich benutze Listen eigentlich hauptsächlich dann, wenn ich erreichen will, dass Iteratoren nach der Manipulation des Containers gültig bleiben. Hier ist std::list m.E.n. der günstigeste Container.

    Same. Das ist normalerweise wirklich der Hauptgrund aus dem ich zu einer std::list greifen würde.



  • Tachyon schrieb:

    dass Iteratoren nach der Manipulation des Containers gültig bleiben.

    Kommt dann auch noch drauf an, wie die Manipulationen aussehen. Bei vector ist es ein Leichtes, an Stelle von iteratoren Indizes zu nehmen. Ich hab für die Arbeit mal einen Smartpointer/Iterator geschrieben, der intern nur einen Index speichert und eine Referenz auf den vector - so bleibt er auch bei Reallokationen gültig.



  • std::list ist fast nie eine gute Idee. Alles an Listen ist langsam. Geruechteweise gibt es Anwendungen fuer die Liste, auch wenn ich keine mehr sehe. Fuer deque habe ich noch nie eine Anwendung gefunden. Die einzige Anwendung die mal etwas aehnliches wie eine Deque brauchte - das Aufteilen einer Sequenz in gleich grosze Datenbloecke - kann man mit deque nicht implementieren, weil man keinen Zugriff auf die Elemente hat. Vielleicht gibts da noch eine Anwendung in Umgebungen mit stark begrenztem Speicehr - da moechte man eventuell einen Container der auch wieder schrumpfen kann. Aber ansonsten?


Anmelden zum Antworten