码迷,mamicode.com
首页 > 其他好文 > 详细

++i 比 i++ 快!

时间:2020-10-18 10:11:38      阅读:22      评论:0      收藏:0      [点我收藏+]

标签:tmp   blank   function   循环控制   wrap   turn   key   ++i   ref   

第 10 行和第 16 行,写++i++j相比于写i++j++,程序的执行速度更快。回顾++被重载成前置和后置运算符的例子如下:

  1. CDemo CDemo::operator++ ()
  2. { //前置++
  3. ++n;
  4. return *this;
  5. }
  6. CDemo CDemo::operator ++(int k)
  7. { //后置++
  8. CDemo tmp(*this); //记录修改前的对象
  9. n++;
  10. return tmp; //返回修改前的对象
  11. }

后置++要多生成一个局部对象 tmp,因此执行速度比前置的慢。同理,迭代器是一个对象,STL 在重载迭代器的++运算符时,后置形式也比前置形式慢。在次数很多的循环中,++ii++可能就会造成运行时间上可观的差别了。因此,本教程在前面特别提到,对循环控制变量i,要养成写++i、不写i++的习惯。

 

摘自 http://c.biancheng.net/view/338.html

++i 比 i++ 快!

标签:tmp   blank   function   循环控制   wrap   turn   key   ++i   ref   

原文地址:https://www.cnblogs.com/snatch/p/13832796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!