while(true)与(;;)

kyl*_*lan 27 c++ infinite-loop

可能重复:
"for(;;)"是否比"while(TRUE)"快?如果没有,为什么人们会使用它?
for(;;)或while(true) - 哪个是正确的C#无限循环?

while(true)(或while(1))和for(;;)?之间有任何明显的区别吗?有没有理由选择一个而不是另一个?

SLa*_*aks 27

启用优化后,它们将以相同方式编译.

你应该使用你觉得更具可读性的那个.


Cha*_*via 6

不,我觉得for(;;)更好。但是他们是一样的。

另请参见“ for(;;)”是否比“ while(TRUE)”更快?如果没有,人们为什么要使用它?

  • 哈哈,这是个玩笑吗? (25认同)
  • 我更喜欢使用 while (true)`,因为它更通用。在 python 中尝试 `for (;;)` (5认同)
  • while (true) 和 for (;;) 是代码异味。你确实需要有一些适当的条件来弄清楚循环实际上在做什么。 (2认同)
  • @R.vanTwisk 为什么 while(true) 会是一种代码味道?我们应该使用 goto 进行无限循环吗? (2认同)
  • @EkremDÍNÇEL:他说你应该给出一个停止条件以使代码更具可读性。例如 bool workCompleted = false; while (!workCompleted) { [...] } (2认同)