Welcher Container der STL am besten?



  • Weil es ja de facto keinen besten Container der STL gibt, wuesste ich gerne, welcher fuer welche Zwecke am besten ist.
    Hab mit google leider keine Erklaerungen gefunden, deswegen wuerde ich mich sehr ueber eure Links freuen, damit ich auch n bisschen was zu lesen hab. 😉



  • Ich würde sagen, dass std::vector die meistgepostete Empfehlung hier ist.
    Natürlich ist es nicht für jedes Speicherproblem die beste Lösung, scheint aber der beste Allrounder zu sein.

    http://www.sgi.com/tech/stl/table_of_contents.html



  • Naja, ansich ist nur interessant was du machen willst, wie du ja schon selber richtig festgestellt hast:
    jetzt mal so aus dem Kopf:
    vektor - wahlfreier Zugriff, halbwegs kontante Zeit um neue Elemnte am Ende einzufügen, lineare Laufzeit um Elemnte in der Mitte oder am Anfang einzufügen, lineare Laufzeit zum löschen eines Elemnts
    list - sequenzieller Zugriff (iteratoren), konstante Zeit zum einfügen und löschen
    Das sind die gängigen alrounder.
    Mit den Eigenschaften asoziative Kontainer (map,set,multi_map,multi_set) kenne ich mich nicht so aus, aber man hat nicht wirklich eine wahl, der Zweck bestimmt den Kontainer: einen Schlüssel einem Wert zuordnen: map. Das selbe mit mehrfachen Schlüsseln: multi_map. Schlüssel und wert fallen zusammen: set; multiset zu set wie multi_map zu map...
    Die anderen (stack,deque,queue) stellen bestimmte Eigenschaften eines Kontainers dar und haben auch entsprechende Verwendung.



  • Das sollte auch so manche frage beantworten:

    http://www.linuxsoftware.co.nz/containerchoice.png

    MfG

    PS: Ich wäre dafür das in den C++ FAQ aufzunehmen unter dem Topic "Richtige STL-Containerwahl"



  • @ness:Danke fuer die Muehe.
    Aber jetzt haette ich auch gerne etwas handfestes und das nicht nur

    jetzt mal so aus dem Kopf:

    drinsteht, sondern mit 100% Sicherheit und Korrektheit. Ein Link waere ganz schoen...
    Danke 🙂



  • @eLvissimo: das sieht ja schon richtig gut aus 🙂
    wenn jetzt noch jemand einen schoenen link mit text hat will ich ein kind von euch 😃



  • Raptor schrieb:

    @ness:Danke fuer die Muehe.
    Aber jetzt haette ich auch gerne etwas handfestes und das nicht nur

    jetzt mal so aus dem Kopf:

    drinsteht, sondern mit 100% Sicherheit und Korrektheit.

    es gibt kein 100% weil jeder container vorteile und nachteile hat.
    du musst das immer genau abwaegen was dir mehr bedeutet...

    aber diese grafik sieht ganz gut aus.



  • Du hat mich falsch verstanden. Das 100% korrekt und sicher war auf den Text bezogen und nicht auf irgendeinen Container. Ich weiss wohl, dass:

    es ja de facto keinen besten Container der STL gibt


Anmelden zum Antworten