[gelöst] wxHashSet sortierung ?



  • Ah jetzt ja...

    OK, der Link ist sehr interessant und erklärt auch einiges.

    Danke schön.



  • mazal schrieb:

    Ich glaube std::set macht dich glücklich.

    Ich wollte eigentlich in wxWidgets bleiben, aber um genau zu sein macht mich die STL::queue glücklich. Schade das es die in WX nicht gibt.



  • Erstmal hab keinen Plan von wxWidgets.

    Auszug aus der Dokumentation

    wxHashSet

    This is a simple, type-safe, and reasonably efficient hash set class, whose interface is a subset of the interface of STL containers. In particular, the interface is modeled after std::set, and the various, non-standard, std::hash_map.

    Hört sich so ein bischen an, als ob es diesen Container nur gibt, weil std::hash_map eben nicht im Standard ist.

    ... macht mich die STL::queue glücklich

    Komisch. Was willst du eigentlich machen.

    Gruß



  • Was will ich machen:

    Fall 1:
    Die Namen meiner Musiker in eine Warteschlange einfügen und immer wenn ein Platz im Musikzimmer frei ist den ersten rausnehmen. (queue)

    Fall 2:
    Die Namen meiner Musiker auf eine Liste setzten und nach Alphabet ausgeben um einen Überblick zu bekommenm wer schon auf der Liste ist. (set)

    Ich werde mich daran versuchen selbst eine wxQueue zu schreiben. Aber erstmal muss ich ein bisschen mit der STL-Queue testen und lernen.



  • Fall 1:
    Die Namen meiner Musiker in eine Warteschlange einfügen und immer wenn ein Platz im Musikzimmer frei ist den ersten rausnehmen. (queue)

    Fall 2:
    Die Namen meiner Musiker auf eine Liste setzten und nach Alphabet ausgeben um einen Überblick zu bekommenm wer schon auf der Liste ist. (set)

    Jo, ist in Ordnung so.

    Ich werde mich daran versuchen selbst eine wxQueue zu schreiben. Aber erstmal muss ich ein bisschen mit der STL-Queue testen und lernen.

    Wozu das Rad neu erfinden? Vor allem, wenn sich das Interface der wxContainer an std::container orientieren.



  • mazal schrieb:

    Ich werde mich daran versuchen selbst eine wxQueue zu schreiben. Aber erstmal muss ich ein bisschen mit der STL-Queue testen und lernen.

    Wozu das Rad neu erfinden? Vor allem, wenn sich das Interface der wxContainer an std::container orientieren.

    Naja, die Arbeit mit den Macros macht süchtig und ist einfach zu handlen. Intern werde ich mit den Containern der STL arbeiten. Es geht nur um die Art der Quellcode eingabe.

    z.B.

    WX_DECLARE_QUEUE(wxString, myQueue);
    myQueue::iterator it;
    // usw...
    

    Neu erfinden will ich nichts, dafür bin ich zu sehr Newbe(e).


  • Mod

    Gerade diese Art von Makros solltest du dir abgewöhnen, das kann ein Template direkt selbst.



  • phlox81 schrieb:

    Gerade diese Art von Makros solltest du dir abgewöhnen....

    Als Newbe(e) bin ich natürlich für jeden Hinweis und jeden Gedankengang dankbar. Daher frage ich jetzt einfach ganz frech nach: Wieso keine Makros? 😕



  • stefanjann schrieb:

    phlox81 schrieb:

    Gerade diese Art von Makros solltest du dir abgewöhnen....

    Als Newbe(e) bin ich natürlich für jeden Hinweis und jeden Gedankengang dankbar. Daher frage ich jetzt einfach ganz frech nach: Wieso keine Makros? 😕

    - Weil bei Makros der Compiler keine direkte Typenprüfung beim übersetzten stattfindet.
    - Weil häufig noch was unerwartes passiert, wenn man nicht aufpasst und entsprechend genug Klammern in Makros setzt.
    - Ebenso kommt es häufiger vor das doppelte Ausführungen stattfinden. zB:

    #define max(a,b) ( (a) > (b) ? (a) : (b) )
    
    c = max( a++, b-- )
    

    Je nach dem was aufgerufen wird, wird entweder a 2x incrementiert oder b 2x decrementiert.
    - Viele sagen noch es ist einfach alter C-Style und wir wolle ja C++ programmieren
    - usw. ......

    Hoffe konnt dir helfen, und die anderen hauen mich net wenn was falsch ist 🕶 sondern berichtigen es.

    Mfg Marco



  • Danke für die Ausführung. Ich frage mich dann, wieso wxWidgets die Makros nicht abschafft, besonders wenn doch bald das wxWidgets 3 kommen soll. Ich hab mich schon etwas reingelesen ins "neue" wx aber soweit ich sehe gibt es die Makros dann immer noch. Die schauen wohl stark auf Abwärtskompatiblität.


Anmelden zum Antworten