回到我的C / C ++时代,将“无限循环”编码为
while (true)
感觉更自然,对我而言似乎更明显
for (;;)
在1980年代后期与PC-lint的相遇以及随后的最佳实践讨论打破了我的这种习惯。从那以后,我使用for
控制语句对循环进行了编码。今天,很长一段时间以来的第一次,也许是我作为C#开发人员的第一个无限循环需求,我正面临着同样的情况。其中一个是正确的,另一个是不正确的吗?
while(true)
需要一个条件。for(;;)
因此,它是无条件重复的无限循环的更好表示。2.旧的未优化的编译器可能实际上已经评估了(true)
循环。3. C是电传打字机,300波特终端和1个字符的变量名时代的一种极简主义语言。在每个按键都很重要的环境中,for(;;)
比短很多while(true)
。