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).

Antworten auf die Frage(5)

Ihre Antwort auf die Frage