我看到这个
for (;;)
{
// Some code here
}
经常。但它有什么好处,为什么不选择while(1){}
呢?
我看到这个
for (;;)
{
// Some code here
}
经常。但它有什么好处,为什么不选择while(1){}
呢?
它们产生相同的代码。您可能更喜欢的原因有几个,for (;;)
但这只是个人喜好:
一些编译器会警告您有关始终为真的条件。for(;;)
不会有那个问题。
for (;;)
字面意思是“永远循环!”,而似乎while (true)
仍然有某种条件。
我说选择一个并坚持下去。只要不随意切换就没有关系。
这是Kernighan 和 Ritchie 在他们的书*中使用的永远循环的形式。绝对没有其他理由更喜欢一种形式而不是另一种形式。
*第 3.5 节关于 While 和 For 循环,示例四。
两者是等价的,并且很可能会产生相同的机器代码。选择一个而不是另一个是个人喜好的问题。
这并不重要 - 这只是个人喜好。
我for(;;)
更喜欢,因为我认为它强调了循环永远的方面。