码迷,mamicode.com
首页 > 编程语言 > 详细

C++面试题:++i和i++哪个效率高?

时间:2014-10-21 10:13:12      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   color   strong   sp   数据   on   代码   bs   line   

1、当变量i的数据类型是c++语言默认提供的类型的话,他们的效率是一样的。

从其汇编执行的条数是一样的,所以其执行效率是一样的(有兴趣可以用gdb查看汇编代码) 

 2、我们自定的数据类型,++i效率高于i++,通过运算符重载来给大家说明这一点。

Operator Operator::operator++()
{
   ++value;    //内部成员变量
   return *this;
}

Operator Operator::operator++(int)
{
 Operator temp;
 temp.value=value;
 value++;
 return temp;
}

后++必须要有一个临时对象才可以完成,产生临时对象,需要发生一系列的拷贝动作,效率自然比直接引用对象低很多。

C++面试题:++i和i++哪个效率高?

标签:style   color   strong   sp   数据   on   代码   bs   line   

原文地址:http://www.cnblogs.com/ChenKeng/p/4039566.html

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