为啥要用(++i)分析++i和i++在效率上的区别
2016-03-19 21:27
197 查看
++i相当于下列代码
i += 1;
return i;
i++总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数。
i++相当于下列代码
j = i;
i += 1;
return j;
++i返回对象的引用;效率更高
在内建数据类型的情况下,当然如果编译器会将这些差别都优化掉,那么效率就都差不多了。
在自定义数据类型的情况下,++i效率更高的明显!
i += 1;
return i;
i++总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数。
i++相当于下列代码
j = i;
i += 1;
return j;
++i返回对象的引用;效率更高
在内建数据类型的情况下,当然如果编译器会将这些差别都优化掉,那么效率就都差不多了。
在自定义数据类型的情况下,++i效率更高的明显!
相关文章推荐
- 计数排序
- POJ 2373 Yogurt factory
- python和Java的区别
- android网络请求Volley框架的使用
- poj 1083
- # 20145210 《Java程序设计》第03周学习总结
- liunx中sed用法
- SDL学习小结(1)
- HTML入门(2)
- 19. Remove Nth Node From End of List
- 程序的几个问题
- HTML基础
- 「学习笔记」3.19代码学习
- (5)ICE通信器是干嘛的
- 最大子阵 --蓝桥杯
- 【leetcode】Array——First Missing Positive(41)
- Bellman-Ford 算法证明
- 设计模式六大原则
- Android中实现点击变换图片
- 装饰模式