转:http://developer.51cto.com/art/201107/275959.htm

 

 

刚刚接触C++的新手同学们,往往会被前置++和后置++搞混。这个概念在C++中还是很重要的,把前置++和后置++弄明白是必须的。

下面就给大家介绍前置++和后置++的区别。

前置++: type operator++(); 后置++: const type operator++(int );

为了编译器区分前置和后置++,C++规定后缀形式有一个int类型参数 ,当函数被调用时,编译器传递一个0做为int参数的值给该函数。不这样规定,无法区分,因为都仅以自身对象为入参。 下

面是一个简单的例子:

class CInt {

private : int m_value;//

} ;

CInt & CInt:: operator ++ ( ) // 前置的是没有参数的,并且返回引用

{

this -> m_value += 1 ;

return * this ;

}

const CInt CInt::peartor ++ (Int) // 后置的有一个匿名参数,并且返回const值

{ CInt old = * this ;

++ ( * this );

return old;

}
View Code

相关文章:

  • 2021-12-12
  • 2022-01-24
  • 2021-06-22
  • 2021-08-09
  • 2021-12-20
  • 2022-03-04
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2021-07-10
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案