[wxW] Mehrdimensionler ArrayString?
-
Hallo, is es möglich ähnlich wie bei Arrays einen mehrdimensionalen ArrayString anzulegen? Wenn ja wie mache ich das. Falls nein könnt ihr mir eine günstige Alternative empfehlen?
Danke schonmal!
-
wxArrayString ist ein ganz normaler Typ wie jeder andere auch.
wxArrayString foo[2][100]; sollte also klappen. // Wenn es dynamisch sein soll, würde ich aber eher auf die STL setzen: typedef std::vector<wxString> MyArrayString; std::vector<MyArrayString> bar;
-
Genau, das ganze soll dynamisch sein, deswegen war ich mir nicht so sicher. Einfach den vector mit nem wxString zu kombinieren is da natürlich die beste Lösung... Danke!
-
Jetzt häng ich aber doch nochmal... Auch wenn das keine spezielle wxWidgets Frage is:
Ich will quasi aus verschiedenen "Listen" die Daten aufnehmen. In den Listen steht immer das Objekt und was es ist (Typ). Zum Beispiel:
Obst: Apfel
Obst: Birne
Gemüse: Karotte
Obst: Banane
Unkraut: BrennnesselDann sollte das ganze so aufgebaut sein, dass ich daraus dann eine genaue Liste erstellen kann, was es für Typen gibt (z.b. Obst, Gemüse, Unkraut) und dann zum jeweiligen Typ auch alle Elemente (Obst: Apfel, Birne, Banane / Gemüse: Karotte). Ich glaube da ist der Vektor nur bedingt gut geeignet, zumal zum Beispiel Duplikate (sprich 3 mal "Obst") ausgeschlossen werden sollen und das beim Vektor glaub ich nich besonders effektiv geschehen kann?!
-
Naja, schau dich halt in der STL um.
Es gibt weitere Container die dir da helfen können:std::set für die "Objekte", in ein Set kannst du nur ein element von jedem hinein tun.
Für die Tatsächlichen Objekte würde sich eine std::map anbieten:
std::map<std::string,std::vectorstd::string > foo;