Welche der folgenden Möglichkeiten ist besser und warum? (Speziell für C++)
a.
int i(0), iMax(vec.length());//vec is a container, say std::vector
for(;i < iMax; ++i)
{
//loop body
}
b.
for( int i(0);i < vec.length(); ++i)
{
//loop body
}
Ich habe Ratschläge für (a) wegen des Aufrufs der Längenfunktion gesehen. Das beunruhigt mich. Optimiert nicht jeder moderne Compiler (b) so, dass es ähnlich wie (a) ist?
1 Stimmen
Sollte wahrscheinlich in vec.size() geändert werden
1 Stimmen
Sehr interessante Antworten. Erstaunlich, wie einfache Fragen auf Stack Overflow eine Quelle für große Bildung sein können.
1 Stimmen
@Amod: Bitte beachten Sie die Antwort von Andrew Shepherd: die beiden von Ihnen angegebenen Codeblöcke sind NICHT gleichwertig!
0 Stimmen
Die Bedingung in Beispiel "b" beruht auf einer "schiefen Vermutung"! :)