i++和++i哪个效率更高
2018-04-07 10:10
218 查看
今天看书无意间发现一个问题,i++和++i哪个效率更高,看了解释和汇编的过程,还是很有收获的,总结如下:
在内建数据库类型的情况下,效率没有区别;
在自定义数据类型的情况下,++i效率较高。
原因如下:++i在运算过程中不产生临时对象,返回的就是i,是个左值,类似++i=1这样的表达式是合法的,而i++在运算的过程中会产生临时对象,返回的是零时对象的值,是个右值,像i++=1这样的表达式是非法的。简单说来,就是i++生成临时变量,而++i不生成临时变量。
在内建数据库类型的情况下,效率没有区别;
在自定义数据类型的情况下,++i效率较高。
原因如下:++i在运算过程中不产生临时对象,返回的就是i,是个左值,类似++i=1这样的表达式是合法的,而i++在运算的过程中会产生临时对象,返回的是零时对象的值,是个右值,像i++=1这样的表达式是非法的。简单说来,就是i++生成临时变量,而++i不生成临时变量。
相关文章推荐
- 探讨++i与i++哪个效率更高
- i++与++i哪个效率更高?
- C/C++面试题:i++与++i哪个效率更高?
- x=x+1, x+=1, x++ 哪个效率更高?
- 磁盘读写和数据库读写哪个效率更高?磁盘读写与数据库的关系
- 磁盘读写和数据库读写哪个效率更高?磁盘读写与数据库的关系
- i++ 与 ++i 的效率哪个更高
- 哪个效率更高?x=x+1, x+=1, x++
- i++ 与 ++i 的效率哪个更高?
- i++与++i哪个效率更高
- ++i和i++哪个效率更高
- C/C++面试题:i++与++i哪个效率更高?
- APC 和 Memcache 有什么区别,哪个更好效率更高?
- 面试题 i++和++i哪个效率更高
- 堆和栈访问效率哪个更高
- 哪个效率更高?x=x+1, x+=1, x++
- i++与++i哪个效率更高
- 堆和栈访问效率哪个更高
- C/C++面试题:i++与++i哪个效率更高?
- 大唐笔试题 oracle中,if exists 和 in 哪个效率更高