正确区分++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).
但是也确实可以