Frage zu wxArrayString



  • Hallo,

    jetzt ist mir doch noch eine Programmidee gekommen. Ich raff nur das wxArrayString-Konstrukt nicht so ganz. Zu der Materie hätt ich mal zwei Fragen:

    I. Kann mir jemand erklären, wie man eine schöne Klasse mit einem Stringarray als Member mit einer hpp und einer cpp Datei schreibt? Vorallem weiß ich nicht, wohin das #include <wx/arrimpl.cpp> soll. Warum ist das nicht so einfach wie bei der STL, was mich zur zweiten Frage bringt:

    II. Ich benütz den gcc. In der wxWidgets "Anleitung" steht, dass das Benützen der STL die Kompilezeit und die Dateigröße ansteigen lässt. Wie stark denn ungefähr; bzw. ist das noch annehmbar, oder kann ich in der Zwischenzeit Kaffee trinken?

    Schon mal Danke im voraus!


  • Mod

    Hm, ka. wieviel Zeit ich durch die STL beim Kompilieren verschwende, aber
    beim arbeiten hole ich das mit der STL/boost wohl wieder auf.
    wxWidgets lässt sich rechtgut mit der STL kombinieren, wenns um Datenhaltung etc. geht.

    wxArrayString allerdings müsstest du doch nur <wx/arrstr.h> einbinden, sonst nix,
    von daher kannst du die eigentlich problemlos nutzen.

    Wenn du dein eigenes Array machen willst, würde ich std::vector empfehlen, (oder std::list,std::deque usw. was du halt gerade brauchst...)

    phlox



  • kynarion schrieb:

    II. Ich benütz den gcc. In der wxWidgets "Anleitung" steht, dass das Benützen der STL die Kompilezeit und die Dateigröße ansteigen lässt. Wie stark denn ungefähr; bzw. ist das noch annehmbar, oder kann ich in der Zwischenzeit Kaffee trinken?

    Kommt auf den Compiler an, wobei es sich bei mir (VSC++ 8.0) nur um Sekundenbruchteile handelt 🙂

    Anyway, du kannst ruhig die STL drin lassen, in naher Zukunft wollen die sowieso alle ihre Basisklassen (wxString, wxNArray etc.) von den echten STL-Klassen ableiten...



  • Puh, Gott sei dank. Wenn ich sowas sehe, kommt mir das Grauen:

    /* Zitat aus dem einzigen wxWidgets Buch:
     * "The array sample presented here shows the most complex case [...]" 
     * Danke, wie einsteigerfreundlich.
     */
    
    ...
    WX_DECLARE_OBJARRAY(Customer, CustomerArray);
    #include<wx/arrimpl.cpp>
    WX_DEFINE_OBJARRY(CustomerArray);
    ...
    

    Diese Makros 😮 ! Ne, dann werd ich mich doch lieber an den Vector halten, wenns keine weiteren Probleme macht.

    Also dank' schön nochamal!



  • @phlox81:
    Hast du wxWidgets komplett mit STL kompiliert, so dass sie intern auch benützt wird, oder nimmst du die STL zusätzlich zu den wxWidgets-Varianten her?

    Gruß,
    kynarion


  • Mod

    ne, ich hab in der setup stl entsprechend wxUSE_STL einstellt.


Anmelden zum Antworten