i++ 和 ++i 以及 i= i + 1 的运行效率
来源:互联网 发布:js清空页面内容 编辑:程序博客网 时间:2024/06/05 17:41
很多时候我们都只把注意力放在 i++和++I 上,
它们的区别只是一个先加再用和先用再加而已,而这三者的运行效率很少有人考虑;
今天老师问到才去探究;
i = i + 1 ,i + = 1及 i++ 的效率哪个最高?为什么?
首先 i = i + 1最低,因为它的执行如下:
首先 i = i + 1最低,因为它的执行如下:
(1) 读取右i的地址;
(2) x+1;
(3) 读取左i的地址;
(4) 将右值传给左边的i(编译器并不认为左右i的地址相同)。
i+=1其次,它的执行如下:
(1)读取i的地址;
(2)i+1;
(3)将得到的值传给i(因为i的地址已经读出)。
i++最高,它的执行如下:
(1)读取右x的地址;
(2)x自增1.
但是,在实际编译的时候,因为编译器会自动优化,所以这三种执行效率貌似看不出什么区别;
0 0
- i++ 和 ++i 以及 i= i + 1 的运行效率
- 比较 i++ 和 i=i+1的执行效率
- java面试题inti=2;i+=i-=i*i的值以及关于i++;++i;i=i+1;i+=1 的效率问题
- i++ 、++i 、i-- 、--i 的效率问题
- i++, ++i , i = i+1 效率问题
- i++和++i和i+=1之间的区别(效率)
- 关于i++;++i;以及i=i++
- i++和++i的效率问题
- ++i 和 --i 谁的效率高 ?
- i++和++i的效率比较
- 大话 i++、++i和i=++i、i=i++
- ++i,i++,--i和i--的区分
- ++i,i++的效率探讨
- ++i 与i++的效率
- i += 1; i++; ++i的区别
- i = i++ 和 i = ++i 的区别
- i++,++i和i=i++的区别
- i+=1和i=i+1的区别
- iOS UI调试神器,插件injection for Xcode使用方法
- Navicat for MySQL 11 Linux 破解方法
- POJ 1703 Find them, Catch them
- 软件实践工程OJ-1151 款带奶牛(treat) 区间dp
- android学习杂记.3
- i++ 和 ++i 以及 i= i + 1 的运行效率
- window 上部署sklearn(python+pip+numpy+scipy+matplotlib+sklearn)
- GOOGLE FQ插件
- 【DFS序】【线段树】【选派士兵】【noip模拟题】
- c++输入的几种方式
- 2016.11.10
- Looksery Cup 2015-H. Degenerate Matrix(浮点数二分)
- 原生JS获取当前浏览器版本以及版本号
- rocketmq源码分析(1)client模块--生产者的启动