正确区分++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).

但是也确实可以


原文地址:https://www.cnblogs.com/SunWentao/p/2198336.html