vector und map Zusammenarbeit



  • Tachyon schrieb:

    wieso Du mich ansprichst.

    Man, ihr habt alle so ein miserables Gedächtnis. 🙄



  • Sone schrieb:

    Tachyon schrieb:

    wieso Du mich ansprichst.

    Man, ihr habt alle so ein miserables Gedächtnis. 🙄

    War das nicht eigentlich Hacker, der den Thread eröffnet hatte? Bist Du Hacker?



  • @ Tachyon:
    Hm, ich hatte bisher immer nur ein Signal, dass gesendet wird, sobald sich der vector ändert. Wenn ich das aufteile und je nachdem, ob ein Element gelöscht oder hinzugefügt wurde, verschiedene Signale schicke, müssten Indexe als values funktionieren. Oder übersehe ich was?

    @ pyhax: Dann sollte das Map-Element gelöscht oder so behandelt werden, als wäre hätte es den default-Wert.

    @ Sone: Danke für den Vorschlag, aber ich arbeite mit Qt. Die Klassen dort bringen schon eine Serialization mit sich. Nur Pointer/Iteratoren sind das Proble.





  • Wurstinator schrieb:

    @ Tachyon:
    @ pyhax: Dann sollte das Map-Element gelöscht oder so behandelt werden, als wäre hätte es den default-Wert.
    .

    Warum machst du es dann nicht so, dass das du eine (Multi-)Map Listenelement -> Datum hast? Im ersten Schritt fügst du die Listenelemente als Keys der Map hinzu (mit default Datum als Wert) , im zweiten Schritt setzt du die entsprechenden Werte.



  • @ pyhax:
    Wenn der Nutzer auf ein Datum klickt und dort schon etwas eingetragen hatte, soll dies natürlich auch angezeigt werden. Um das zu uberprüfen, müsste ich dann aber die ungeordneten values durchsuchen, was deutlich länger dauern würde.



  • Wurstinator schrieb:

    @ pyhax:
    Wenn der Nutzer auf ein Datum klickt und dort schon etwas eingetragen hatte, soll dies natürlich auch angezeigt werden. Um das zu uberprüfen, müsste ich dann aber die ungeordneten values durchsuchen, was deutlich länger dauern würde.

    boost::multimap



  • Wie soll mir eine Multimap helfen? Oder kann die Boost-Version was anderes, als die STL-Version?



  • Wurstinator schrieb:

    Wie soll mir eine Multimap helfen? Oder kann die Boost-Version was anderes, als die STL-Version?

    Oops, ich meinte boost::bimap 🙂



  • Okay, eine Bimap macht mehr Sinn als eine Multimap 😉
    Allerdings überlege ich mir noch, ob es sich lohnt, dafür Boost einzubinden. Mit Tachyons Methode dürfte eine normale Map auch reichen und ich kann weiterhin die Qt-Serialization nutzen.



  • Wurstinator schrieb:

    Okay, eine Bimap macht mehr Sinn als eine Multimap 😉
    Allerdings überlege ich mir noch, ob es sich lohnt, dafür Boost einzubinden. Mit Tachyons Methode dürfte eine normale Map auch reichen und ich kann weiterhin die Qt-Serialization nutzen.

    Mit meiner "Methode" fliegt Dir, sofern Du das mit der Liste meinst, das Programm um die Ohren, wenn Du Elemente löscht. Wenn Du das Observer-Pattern für Dein Problem umsetzt, dann sollte das eigentlich gut gehen.



  • Ich habe mich auf das Obsever-Pattern bezogen, nicht auf die list anstatt vector 😉


Anmelden zum Antworten