Состояние цикла: почему «не равно» вместо «ниже чем»
Мне поручили работать над проектом Android-Java (игра в реальном времени) со значительной (частично унаследованной) базой кода.
Большинство циклов, которые я вижу, выглядят следующим образом (где mjk обычно является массивом Java):
int count = mjk.length;
for (int i = 0; i != count; ++i) {
// Stuff dealing with mjk[i]
}
Я обычно пишу такие циклы:
int count = mjk.length;
for (int i = 0; i < count; i++) {
// Stuff dealing with mjk[i]
}
Любая идея, почему оригинальный автор (с которым я не смог связаться до сих пор) использовал предыдущую форму? Это распространено в C ++?
Практическая причина, по которой я спрашиваю, это оптимизация JIT: насколько я знаю, Android оптимизирует циклы (переменные индукции, инварианты, миграцию проверки диапазона для пролога цикла и т. Д.), И мне интересно, может ли неравенство препятствовать такой оптимизации (в отличие от более низкого уровня) -на чем указывается четко определенный диапазон).
Мне просто любопытно, имеет ли первое использование какие-либо преимущества / недостатки по сравнению со вторым (во всех отношениях).