Schleifenbedingung: Warum "ungleich" statt "kleiner als"?
Ich wurde beauftragt, an einem Android-Java-Projekt (Echtzeitspiel) mit einer beträchtlichen (teilweise älteren) Codebasis zu arbeiten.
Die meisten der Schleifen, die ich sehe, sind wie folgt (wobei mjk normalerweise ein Java-Array ist):
int count = mjk.length;
for (int i = 0; i != count; ++i) {
// Stuff dealing with mjk[i]
}
Ich schreibe im Allgemeinen Schleifen wie diese:
int count = mjk.length;
for (int i = 0; i < count; i++) {
// Stuff dealing with mjk[i]
}
Irgendeine Idee, warum der ursprüngliche Autor (den ich bisher nicht kontaktieren konnte) das vorherige Formular verwendet hat? Ist es in C ++ üblich?
Der praktische Grund, warum ich das frage, ist die JIT-Optimierung: Meines Wissens optimiert Android Schleifen (Induktionsvariablen, Invarianten, Bereichsüberprüfungsmigration zum Schleifenprolog usw.) und ich frage mich, ob die Ungleichheit solche Optimierungen verhindern kann (im Gegensatz zu niedriger) -than, der einen genau definierten Bereich angibt).
Ich bin nur neugierig, ob die erste Verwendung irgendwelche Vor- / Nachteile gegenüber der zweiten hat (in jeder Hinsicht).