Vanuit het oogpunt van een minimalist die nog verder gaat dan het KISS beginsel, en er van uitgaat dat er geen onnodige code ingeklopt dient te worden, heeft
de voorkeur boven
C:
1
| while (some_condition_which_is_supposed_to_be_always_true) |
Bij de laatste zou je namelijk per ongeluk een verkeerde expressie in kunnen kloppen, bij de eerste is dat simpelweg niet mogelijk omdat je geen conditie inklopt - en daarmee dus geen fout KUNT maken. In andere woorden: deze for-variant is meer fail-safe dan de while-variant. Merk op dat dit een principieel standpunt is.
Afgezien daarvan zeurt mijn C++ compiler bij 'while(1)' dat deze statement een conditional expression bevat die constant is (wat ik zelf ook wel weet

), hetgeen bij de for-variant uiteraard niet het geval is.
Misschien leuk voor een discussie: waarom de while constructie niet uitfaseren als for hetzelfde en meer kan?
Misschien omdat je niet elke 'while (<cond>)' wilt vervangen door 'for ( ; <cond>; )'?
Dan weet ik nog wel een paar constructs die kunnen worden afgeschaft, begin eens met +=, is ook nergens voor nodig...
Lijkt me niet zo'n goed plan, in plaats van bijvoorbeeld
C:
1
| large_computation_resulting_in_lvalue += 1; |
of
C:
1
| computation_with_side_effect_resulting_in_lvalue += 1; |
zul je dan iets moeten doen als
C:
1
2
| T & rcT = some_computation;
rcT = rcT + 1; |
En hopla, weer een auto variabele erbij die je met += niet nodig hebt.