正确区分++operator 与 operator ++

确区分++operator 与 operator ++

一直以来对++operator 和 operator++在函数重载时的用法不理解。

在看了c++ primer & effective c++之后,终于明白:

T& operator ++()

{

  cout << "override ++operator" << endl;

}


T& operator++(int)

{

  T tmp = *this;

  cout << "override operator++" << endl;

  (*this) += 1;

  return tmp;

}

注意上面的int参数,在默认情况下,operator++不需传递此参数,即operator++ = operator++(0).

但是也确实可以


posted on 2011-10-02 23:39  SunWentao  阅读(480)  评论(0编辑  收藏  举报