Правила программирования на С и С++. Главы 1-6 - То, чего нет в условном выражении, не должно появляться и в других частях оператора for

ОГЛАВЛЕНИЕ

64. То, чего нет в условном выражении, не должно появляться и в других частях оператора for.

Так как оператор for предназначен для того, чтобы собрать инициализирующую, условную и инкрементирующие части цикла в одном месте, так чтобы вы могли, взглянув, понять, что происходит, то вы не должны загромождать оператор for материалом, который не имеет отношения к циклу, иначе вы лишите смысла всю эту конструкцию. Избегайте подобного кода:

int *ptr;

// ...

for ( ptr = array, i = array_size; --i >= 0; f(ptr++) )

;

который лучше сформулировать так: int *ptr = array;

for ( i = array_size; --i >= 0 ; )

f( ptr++ );