C++ Vector oder Liste

CodeCrafterCpp

Erfahrenes Mitglied
Hi,
Ich möchte eine unbekannt anzahl an Float Werten Speichern und dann in eine Schleife die Werte mit einen anderen Wert vergleichen. Ich hab jetzt mal diese Vector Sache gesehen und einfach mal die Werte rein gespeichert mit "myvector.push_back (myfloat);" Bloß wie kann ich den alle Nacheinander Auslesen?

Es gibt ja auch noch so Listen und ich dachte das ist so was wie Vector wo ist der Unterschied?

mfG
 
Hier und hier kannst du viel über die STL, in diesem Fall std::vector und std::list, lesen.

Der grobe Unterschied: Bei einem Vektor ist im Hintergrund ein Array als Speicher für die Elemente verantwortlich, bei einer Liste werden die Elemente intern über Zeiger verbunden.
Für den direkten Zugriff auf ein Element sind Vektoren besser geeignet, da die Zugriffszeit konstat ist. Bei einer Liste müssen immer alle Elemente bis zum gewünschten Element gelesen werden.

In beiden Fällen gibt es jedoch Iteratoren, mit denen du über alle Elemente eine Schleife laufen lassen kannst.
 
Hi

Vector ist intern ein ganz normales Array (nur eben die Klasse mit ihren Methoden drumherum).
(http://www.cplusplus.com/reference/stl/vector/)

Die wichtigsten Vor-/Nachteile zw. Array und Liste:
a) Wenn man nicht sequentiell auf die Elemente zugreift
(also nicht [0] [1] [2]... sondern irgendwie durcheinander)
ist die Liste (verglichen zum Array) sehr langsam (vor allem bei vielen Elementen)
b) Vergrößern/Verkleinern ist dagegen bei der Liste kein Problem, beim Array aber langsam.

...und der Thread ist ein Array.
Ich hab ihn vergrößert und war dabei sehr langsam :D
 
Zurück