Повернувшись до моїх C / C ++ днів, кодуючи "нескінченну петлю" як
while (true)
відчував себе більш природним і здавався мені більш очевидним на відміну від
for (;;)
Зустріч із PC-обличчям наприкінці 1980-х та подальші обговорення найкращих практик порушили мене від цієї звички. З тих пір я кодував цикли за допомогою for
оператора управління. Сьогодні, вперше за довгий час, і, можливо, моя перша потреба у нескінченному циклі як розробник C #, я стикаюся з тією ж ситуацією. Чи одна з них правильна, а інша ні?
while(true)
потрібна умова. for(;;)
тому є кращим поданням для нескінченних циклів, які повторюються беззастережно. 2. Старі неоптимізовані компілятори, можливо, насправді оцінили те, (true)
як вони цикла. 3. С - мінімалістична мова з часів телетипів, 300 бод-терміналів та 1-знакова назва змінних. В умовах, коли кожен ключовий штрих рахується, for(;;)
це зовсім трохи коротше, ніж while(true)
.