for(auto& entity : memoryManager.getItems()) entity->update(mFrameTime);
如果内存管理器包含 1000 个项目,memoryManager.getItems()
被调用 1000 次还是在循环开始时只被调用一次?
编译器是否使用 -O2(或 -O3)运行任何优化?
(memoryManager.getItems()
返回一个std::vector<Entity*>&
)
仅评估一次。该标准定义了基于范围的for
语句相当于:
{
auto && __range = range-init;
for ( auto __begin = begin-expr, __end = end-expr; __begin != __end; ++__begin ) {
for-range-declaration = *__begin;
statement
}
}
where range-init
是表达式(用括号括起来)或括号初始化列表之后:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)