可能重复:
Is “for(;;)” faster than “while (TRUE)”? If not, why do people use it?
我看到了这个
for (;;)
{
// Some code here
}
经常。但它提供了哪些好处以及为什么不选择while(1){}
?
答案 0 :(得分:5)
他们生成相同的代码。您可能更喜欢for (;;)
有几个原因,但这只是个人偏好:
有些编译器会警告您一直都是正确的条件。 for(;;)
不会有这个问题。
for (;;)
字面意思是“Just loop forever!”,而while (true)
仍然出现以产生某种条件。
我说选一个并坚持下去。只要你不随意切换它们就无所谓了。
答案 1 :(得分:4)
这是 forever 循环的形式Kernighan and Ritchie used in their book * 。绝对没有其他理由喜欢一种形式而不是另一种形式。
* 关于While和For循环的第3.5节,第四个例子。
答案 2 :(得分:3)
这两者是等效的,很可能导致相同的机器代码。选择一个是另一个是个人偏好。
答案 3 :(得分:2)
这并不重要 - 只是个人偏好。
我更喜欢for(;;)
,因为我认为它会强调循环方面。