Suche eine Art ArrayList für C++
-
Hallo.
Gibt es in C++ eine Art "ArrayList" (wie in Java) als dynamisches Feld? Das Problem ist folgendes: Auch wenn man dynamische Arrays in C++ verwendet, so kann man die Größe des erstellten Feldes nicht mehr ändern. Ich möchte aber gern einfach wie in Java beliebig viele neue Felder an ein existierendes Feld anhängen können.
Zum Beispiel nützt mir ein dynamisches deklariertes Feld für folgendes Programm relative wenig: Ein Programm liest über die Konsole Zahlen ein und speichert sie der Reihe nach in einem Array (dies alles wird also in einer Schleife abgewickelt). Gibt der Benutzer 0 ein, so wird die Schleife verlassen.
In dem Fall hängt die Größe des Arrays von der Anzahl der Eingaben ab. Bei 2 Eingaben hat das Array eine Länge von 2, bei 100 Eingabe eine Länge von 100.Wie kann ich das nun realisieren? Ich fände es blöd von vorn herein ein Array der Länge 300 zu erstellen, für den Fall, dass sehr viele Eingaben gemacht werden. Wird dann nur eine Eingabe gemacht, so werden 299 Felder nicht benutzt, was Speicherplatz verbraucht und allg. ziemlich ineffizient ist, oder?
Grüße,
Infostudent.
-
ein vector ist vermutlich was du suchst.
http://cppreference.com/cppvector/index.htmlMit freundlichen Grüßen
-
Warum nur vermutlich?
Er sucht eindeutig ein std::vector!
http://www.kharchi.de/cppratgeber2.htm
-
Wie ist ArrayList denn implementiert? Vom Namen her würde ich da eher was deque-ähnliches erwarten.
-
Jester schrieb:
Wie ist ArrayList denn implementiert? Vom Namen her würde ich da eher was deque-ähnliches erwarten.
Nein. Der Name kommt vielleicht daher, das es das die List-Schnittstelle implementiert.
-
Helium schrieb:
Jester schrieb:
Wie ist ArrayList denn implementiert? Vom Namen her würde ich da eher was deque-ähnliches erwarten.
Nein. Der Name kommt vielleicht daher, das es das die List-Schnittstelle implementiert.
Nicht nur vielleicht, das ist ganz sicher so

Steht IIRC sogar irgendwo in der Doku zum Java SDK...