i++与++i效率区别

  • 对于内建数据类型,两者之际无差别,效率差别不大
  • 自定义数据类型
    • 前缀i++可以返回对象的引用而后缀i++必须返回对象的值,所以会产生较大的复制开销,引起效率降低。
    • 对于C++里的类,那++i和i++两个是运算符重载
    •  1 class INT;   
       2 //++i 的版本   
       3 INT INT::operator++()   
       4 {   
       5     *this = *this + 1;   
       6     return *this;   
       7 }   
       8 //i++ 的版本   
       9 const INT INT::operator ++(int)   
      10 {   
      11     INT oldvalue = *this;   
      12     *this = *this + 1;   
      13     return oldvalue; 
      14 }   

      ++i效率比i++效率要高。

原文地址:https://www.cnblogs.com/southcyy/p/10147356.html