En mis días de C / C ++, codificaba un "bucle infinito" como
while (true)
se sentía más natural y me parecía más obvio en lugar de
for (;;)
Un encuentro con PC-lint a fines de la década de 1980 y las posteriores discusiones sobre las mejores prácticas me rompieron este hábito. Desde entonces he codificado los bucles usando la for
declaración de control. Hoy, por primera vez en mucho tiempo, y quizás mi primera necesidad de un bucle infinito como desarrollador de C #, me enfrento a la misma situación. ¿Es correcto uno de ellos y el otro no?
while(true)
requiere una condición. for(;;)
por lo tanto, es una mejor representación para bucles infinitos que se repiten incondicionalmente. 2. Es posible que los compiladores antiguos no optimizados hayan evaluado realmente el (true)
bucle. 3. C es un lenguaje minimalista de la época de los teletipos, terminales de 300 baudios y nombres de variables de 1 carácter. En un entorno donde cada pulsación de tecla cuenta, for(;;)
es bastante más corto que while(true)
.