C++ 编译器是否处理诸如建筑物是向量之类的情况:
for (int i = 0; i < buildings.size(); i++) {}
也就是说,它是否注意到建筑物是否在循环中被修改,然后
基于此不评估它每次迭代?或者也许我应该自己做这件事
不是那么漂亮但是:
int n = buildings.size();
for (int i = 0; i < n; i++) {}
buildings.size()
可能会被编译器内联以直接访问私有大小字段vector<T>
班级。所以你不应该将调用分开size
。无论如何,这种微观优化是您不想担心的事情(除非您处于某个通过分析确定为瓶颈的非常紧密的循环中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)