Лучший способ написать цикл for:
for(i=0; i<N; i++)
for(j=0; j<N; j++)
{
array[i][j] = ... ;
}
Все остальное - «преждевременная оптимизация», то есть вещи, которые компилятор действительно должен уметь обрабатывать для вас.
Однако, если у вас тупой компилятор, может быть более эффективно считать от N до нуля, поскольку сравнение с нулем быстрее, чем сравнение со значением на большинстве процессоров.
Обратите внимание, что Nдолжно быть постоянным выражением, если это возможно.Исключите вызовы функций, такие как strlen () и т. Д. Из сравнения циклов.
++ Я также буду быстрее, если код может оказаться в компиляторе C ++, где стандарт C ++ гарантирует, что ++ i быстрее, чемi ++, потому что i ++ создает временную невидимую переменную.
Порядок цикла должен быть таким же, как указано выше для большинства систем, поскольку это часто является наиболее эффективным способом обращения к кэш-памяти, что является довольно сложной темой.