我想知道哪个无限循环更可取:
for(;;) {
// Do some stuff
}
或者
#define TRUE 1
while(TRUE) {
// Do some stuff
}
从性能的角度来看,它们之间有什么区别吗?
从编码标准的角度来看,什么更可取?
我想知道哪个无限循环更可取:
for(;;) {
// Do some stuff
}
或者
#define TRUE 1
while(TRUE) {
// Do some stuff
}
从性能的角度来看,它们之间有什么区别吗?
从编码标准的角度来看,什么更可取?
从性能的角度来看,这并不重要。编译器会将两者优化为相同的汇编代码。从“编码标准”的角度来看, for(;;) 更简洁,这很好。虽然 while(TRUE) 更清晰一些,但 for(;;) 如此常见,以至于在这种情况下清晰并不是什么大问题(事实上,for(;;) 的普遍性可能使它比 while 版本更清晰)。
这是品味问题,尤其是使用的编码约定问题。最好在同一个项目中的任何地方都使用一种风格,或者在混合风格时使用相同的规则。许多 C++ 框架也提供永久宏,在我看来,在使用该框架的代码中应该优先使用它。生成的代码应该没有区别。
没有不同。while (true)
对某些人来说可能看起来更明显。
The difference between the two is not big. You usually use for when you know how many elements to traverse. You use while if instead a condition needs to be satisfied