你会用while(1)还是for(;;)写循环代码?
💡
原文中文,约2500字,阅读约需6分钟。
📝
内容提要
for(;;)和while(1)都是无限循环的写法,学术界和工业界认为for(;;)更优秀,因为它只执行了两次空语句,执行速度更快。实际情况下差异较小,选择取决于开发者的编程习惯和个人口味。无限循环通常不是最佳代码,因为消耗资源。在编译器中,while(1)可能会有警告,而for(;;)不会。
🎯
关键要点
- for(;;)和while(1)都是无限循环的写法。
- 学术界和工业界认为for(;;)更优秀,因为它只执行了两次空语句,执行速度更快。
- 实际情况下,for(;;)和while(1)的性能差异较小,选择取决于开发者的习惯。
- 无限循环通常不是最佳代码,因为消耗资源。
- 在一些编译器中,while(1)可能会有警告,而for(;;)不会。
- 在测试中,for(;;)和while(1)生成的机器码是一样的。
- for(;;)看起来更优雅一些。
❓
延伸问答
for(;;)和while(1)有什么区别?
for(;;)比while(1)更优秀,因为它只执行两次空语句,执行速度更快。
在实际编程中,应该选择for(;;)还是while(1)?
选择取决于开发者的编程习惯和个人口味。
无限循环的使用有什么风险?
无限循环通常不是最佳代码,因为它消耗资源。
在编译器中,while(1)会有什么警告吗?
在一些编译器中,while(1)可能会有警告,而for(;;)不会。
for(;;)和while(1)生成的机器码一样吗?
在测试中,for(;;)和while(1)生成的机器码是一样的。
为什么学术界和工业界更倾向于使用for(;;)?
因为for(;;)的执行速度更快,且看起来更优雅。
➡️