hirnfrei
08.03.2016, 11:54
Mahlzeit!
Als ich mit C angefangen hatte habe ich gelernt, dass es sinnvoll ist keine Funktion in eine Schleife einzubauen, da diese ansonsten bei jedem Durchgang erneut durchlaufen werden muss.
Beispiel:
Anstatt:
for(i=0;i<strlen(bla);i++)
Besser:
bis = strlen(bla);
for(i=0;i<bis;i++)
Seitdem ich nun auf C++ aufgesprungen bin sehe ich aber sehr oft in Tutorials zum Beispiel
for(i=0;i<bla.length();i++)
Jetzt stellt sich mir die Frage, ist es bei C++ das gleiche spiel und length() wird jetzt wieder bei jedem Durchlauf ebenfalls durchlaufen, oder hat C++ da etwas eingelötet, was eine Schleife erkennt und demnach nur einmal length() abruft? Lustig wäre das ja schon, aber ich habe leider immer wieder das Gefühl, je mehr Rechenleistung und Speicher die Rechner kriegen, um so weniger Interesse zeigen die Leute beim Sparen.
Als ich mit C angefangen hatte habe ich gelernt, dass es sinnvoll ist keine Funktion in eine Schleife einzubauen, da diese ansonsten bei jedem Durchgang erneut durchlaufen werden muss.
Beispiel:
Anstatt:
for(i=0;i<strlen(bla);i++)
Besser:
bis = strlen(bla);
for(i=0;i<bis;i++)
Seitdem ich nun auf C++ aufgesprungen bin sehe ich aber sehr oft in Tutorials zum Beispiel
for(i=0;i<bla.length();i++)
Jetzt stellt sich mir die Frage, ist es bei C++ das gleiche spiel und length() wird jetzt wieder bei jedem Durchlauf ebenfalls durchlaufen, oder hat C++ da etwas eingelötet, was eine Schleife erkennt und demnach nur einmal length() abruft? Lustig wäre das ja schon, aber ich habe leider immer wieder das Gefühl, je mehr Rechenleistung und Speicher die Rechner kriegen, um so weniger Interesse zeigen die Leute beim Sparen.