verschachtelte Liste
-
ich habe im Moment folgendes Problem:
ich brauche ein verschachtelte STL-Liste, also
list < list < string > > test;nur wie greife ich nun auf die einzelnen Elemente zu?
wenn ich beispielsweise so etwas habetest.push_front(list<string>()); test.push_front(list<string>());und dann die erste Liste in der Liste füllen möchte, z.b.
test.begin().push_back("1");Das funktioniert leider nicht. Wie kann ich allgemein auf so verschachtelte Listen zugreifen / hinzufügen löschen?
Stehe im Moment etwas auf dem Schlauch.Gruß
JackF
-
Harl schrieb:
...
und dann die erste Liste in der Liste füllen möchte, z.b.test.begin().push_back("1");Das funktioniert leider nicht.
Hallo Jack,
das
test.begin()->push_back("1");sollte gehen. 'test.begin()' liefert Dir den Iterator auf das erste Element. Z.B. mit operator-> kannst Du auf die Methoden des Element her der inneren Liste zugreifen.
Harl schrieb:
Wie kann ich allgemein auf so verschachtelte Listen zugreifen / hinzufügen löschen?
Stehe im Moment etwas auf dem Schlauch.Immer genauso wie Du auf eine Liste zugreifst. Was hast Du denn vor?
Gruß
Werner
-
Hallo Werner,
danke schonmal das funktioniert. Probleme habe ich noch bei der Ausgabe, z.b.
for (list<string>::iterator pos = test.begin()->begin(); pos != test.begin()->end(); pos++); { cout << (*pos) << endl; }Das funktioniert noch nicht.
Ich benötige die verschachtelte Liste für die Codegenerierung eines Compilers.
Bisher habe ich hauptsächlich in anderen Programmiersprachen programmiert, daher ist mir noch nicht jede C++-Syntax so gewohnt.
-
okay hat sich erledigt, das ';' war zu viel ..ich sollte nicht mehr so lange am Stück arbeiten...