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!
-
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
-
ne, ich hab in der setup stl entsprechend wxUSE_STL einstellt.