while(true) 和 for(;;) 的区别

34

可能是[for(;;)或while(true)-哪个是正确的C#无限循环?]的重复问题(这个问题是关于C#的,但回答也适用于C++)。 - Adam Robinson
2个回答

33

启用优化后,它们将编译为相同的代码。

您应该使用您觉得更易读的那个。


好的,如果禁用了优化呢? - iTzVoko

6

40
哈哈,这是个笑话吗? - ack
2
while (true) 和 for (;;) 是代码异味。你真的需要有一些适当的条件来清楚地说明循环实际在做什么。 - R. van Twisk
2
@R.vanTwisk 为什么 while(true) 会被视为代码异味?我们应该使用 goto 来进行无限循环吗? - Ekrem Dinçel
2
@EkremDÍNÇEL: 他说你应该给出停止条件以使代码更易读。例如: bool workCompleted = false; while (!workCompleted) { [...] } - v3gard
3
我喜欢使用 while (true),因为它更加通用。在Python中尝试使用 for (;;) - Steven Tautonico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接