为了账号安全,请及时绑定邮箱和手机立即绑定

关于for循环声明int i的位置

关于for循环声明int i的位置

qq_阿篮_0 2017-10-22 13:06:28
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 反对 回复 2017-10-22
  • 2 回答
  • 0 关注
  • 2808 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信