for (vector<string>::const_iterator i=v.begin(); i != v.end(); ++i) { ... }
ist bei mir ca. 10% langsamer als
C++:
for (vector<string>::const_iterator e=v.end(), i=v.begin(); i != e; ++i) { ... }
Sutter und Meyers bin ich durch; kennt Ihr ansonsten noch allgemeine Tips zur Performance speziell der STL?
Bearbeitung:
Ups, stimmt. Fehler korrigiert
-- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook.Dieser Post wurde am 26.03.2009 um 15:58 Uhr von Bruder Leif editiert.
Dass das erste Beispiel langsamer ist, liegt daran, da es neben dem Vergleichen auch jedes Mal end() aufgerufen wird. Wenn du Ähnliches siehst und vermeidest, ist schon ein guter Tip. (der zweite Code-Ausschnitt ist übrigens falsch) -- Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.Dieser Post wurde am 26.03.2009 um 15:25 Uhr von Kest editiert.