Rule A6-5-4 (advisory, implementation, automated)
For-init-statement and expression should not perform actions other than loop-counter initialization and modification.
Rationale
If only a loop-counter is used in the for-init-statement and expression, it increases readability and it is easier to understand and maintain code.
Example
// $Id: A6-5-4.cpp 305629 2018-01-29 13:29:25Z piotr.serwa $
#include <cstdint>
void Fn() noexcept
{
for (std::int32_t x = 0, MAX = 10; x < MAX; x++) // compliant with A6-5-2, but
// non-compliant with advisory A6-5-4
{
// ...
}
}
See also
JSF December 2005 [8]: AV Rule 198: The initialization expression in a for loop will perform no actions other than to initialize the value of a single for loop parameter.
JSF December 2005 [8]: AV Rule 199: The increment expression in a for loop will perform no action other than to change a single loop parameter to the next value for the loop.