我忘了现在的位置,但我在某处读到for(;;){...}
与说while(1){...}
相同。 This answer确认这是真的,并解释了for(;;)
为何起作用的原因。但是,它没有详细说明为什么它会有用,我似乎找不到空for
循环的任何基准,而不是while
循环。
它相当令人困惑(尽管确实非常聪明),但 更短。 Google的Closure Compiler将while(true)
转换为空for循环,因此必须有理由。
tl; dr :为什么我应该在while(1)
循环上使用空for循环?
答案 0 :(得分:7)
键入的时间更短。这真的是唯一的原因。许多人只是按照这种方式编程,这是一个习惯问题。
我依稀记得有for(;;)
更快的时间和语言。但是,过去现在大体上都是优秀的编译器/解释器。
答案 1 :(得分:2)
它略微更惯用,可能是因为它的输入时间更短,并且有一个时代,其重要性超过了代码的可读性。我已经阅读过软件工程书籍for(;;)
比while(1)
更容易跳出来表示“无限循环”,所以如果坚持下去就更好了。它绝不是一个强大的惯例,它们在我能想到的任何方面在技术上是等同的。