for(int i = 0; i< 10; i++){}
int i =0;
for(; i< 10; i++){}
请问这两个运行速度是第一个快吗?为什么?
2 回答
onemoo
TA贡献883条经验 获得超454个赞
没有区别。
for 的小括号中的第一部分只会在一开始时初始化这个 i。所以这不涉及“每次迭代时都生成临时变量”的问题,这两种方式是一样的。
而且,如果这个 i 作为迭代 index 只在 for 循环中使用的话,更推荐用第一种写法。这样 i 算是在 for 的作用域中,不会影响到外部。
再有,程序员几乎不用考虑这种程度的所谓“优化”。一方面是现代编译器早已经很智能了,即便存在某些编码细节上的影响,编译器也都会自动优化掉。另一方面,采用更具效率的算法对运算速度的提升要远比使用某些过时的“优化技巧”来得大。
- 2 回答
- 0 关注
- 2808 浏览
添加回答
举报
0/150
提交
取消