我经常看到游戏引擎在做:
for(;;) if(!frame()) break;
为什么他们不写:
while(frame());
或者他们想用于:
for(;frame(););
for(;;)或while(true)是否有可能因为条件始终为true而使编译器进行更多优化?
这是课程的马。
在这种情况下,任何好的优化编译器都将生成相同的代码。
老式的人非常依赖,for(;;)
因为大多数mainsteam编译器在“正常”设置警告时不会生成警告。在我看来,while(frame());
尽管有些人不喜欢空的循环体,而且至少第一种方法的循环体也不是空的,但我至少要清楚一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句