list/vector/map.end() vor Verwendung speichern
-
Hallo!
Man kann sich ja beispielsweise vor einer while-Schleife einen Teil der Bedingung merken:
while(it != list.end())
Und zwar den Aufruf von list.end(). Jetzt die Frage: Wieviel Performance bringt das wirklich? Sollte man das, auch bei kleinen Listen/Maps usw. machen?
Andere Frage:
Wenn ich mit einer Forschleife einen Vector durchgehe, dann ist doch
for(int i=0; i<=vector.size()...
dasselbe als wenn ich mir vorher size() merken würde. Oder wird size() jedes mal beim Aufruf neu berechnet?
-
Hängt beides von der Implementierung der STL ab. Ob er es nun "berechnet" oder nur "ermittelt" bzw das sowieso speichert... Ist zumindest die falsche Stelle um die Performance zu steigern. Und < x.size() statt <= x.size() vermute ich mal.
