为什么选择 (;;){} over while(1).
Why choosing for (;;){} over while(1)?
可能的重复项:
"for(;;)"比"while (TRUE)"快吗?如果不是,人们为什么要使用它?
我看到这个
for (;;)
{
// Some code here
}
很多时候。但是它有什么好处,为什么不选择while(1){}
呢?
它们生成相同的代码。您可能更喜欢for (;;)
有几个原因,但这都只是个人喜好:
-
一些编译器会警告您始终为真的条件。
for(;;)
不会有这个问题。 -
for (;;)
字面意思是"永远循环!",而while (true)
似乎仍然有某种条件。
我说选择一个并坚持下去。只要你不随意在它们之间切换就没关系。
这是Kernighan和Ritchie在他们的书中使用的永恒循环的形式*。绝对没有其他理由偏爱一种形式而不是另一种形式。
* 第 3.5 节关于 While 和 For 循环,示例四。
两者是等效的,很可能会产生相同的机器代码。选择一个而不是另一个是个人喜好的问题。
这并不重要 - 这只是个人喜好。
我更喜欢for(;;)
因为我认为它强调了循环永远的方面。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- while循环中while循环的时间复杂度是多少
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 擦除while循环中迭代的元素
- 为什么我不能在 while 循环中创建线程?
- 退出简单while循环时出现问题
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 嵌套While循环不起作用(C++问题)
- 如何通过替换顺序代码的while循环来添加OpenMP for循环
- 使用 GMP 的 while 循环出现问题
- 程序以使用 C++ 中的 while 循环查找一组数字的最小值
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- 为什么在 while 循环中返回表达式不起作用
- 如何使用 do while 循环确定最高值和最低值
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- 为什么选择 (;;){} over while(1).