标签: c++ operator-overloading
对于基本数据类型,例如int,代码片段后面会出现编译错误
i++ = 2;
很明显i++不是左值
i++
但是当用c ++重载自定义类时,大多数人都认为post增量运算符的签名应该像
Date Date::operator++(int) { Date temp = *this; // do increment return temp; }
我的问题是为什么返回类型不应该像const Date而不是Date,就像原始类型一样。
const Date
Date