【C++】++i、i++哪个好?为什么(约176字)

定义

++i和i++都是C++中的自增运算符,它们的区别在于它们的行为和返回值。

  • ++i是前置自增运算符,它会先将变量i的值加1,然后返回加1后的值。也就是说,++i会先执行自增操作,再使用自增后的值。

  • i++是后置自增运算符,它会先返回变量i的当前值,然后再将i的值加1。也就是说,i++会先使用当前值,再执行自增操作。

区别

1) 前置返回一个引用,后置返回一个对象

cpp
// ++i实现代码为:
int& operator++()
{

  *this += 1;
  return *this;

}

2) 前置不会产生临时对象,后置必须产生临时对象,临时对象会导致效率降低

cpp
//i++实现代码为:                 
int operator++(int)                 
{
int temp = *this;                   

   ++*this;                       

   return temp;                  
}

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容