对于像 int 这样的基本数据类型,下面的代码片段会给出编译错误
i++ = 2;
所以显然i++
不是左值
但是在 C++ 中重载自定义类时,大多数人建议后自增运算符的签名应该像
Date Date::operator++(int) {
Date temp = *this;
// do increment
return temp;
}
我的问题是为什么返回类型不应该const Date
像Date
原始类型一样。
对于像 int 这样的基本数据类型,下面的代码片段会给出编译错误
i++ = 2;
所以显然i++
不是左值
但是在 C++ 中重载自定义类时,大多数人建议后自增运算符的签名应该像
Date Date::operator++(int) {
Date temp = *this;
// do increment
return temp;
}
我的问题是为什么返回类型不应该const Date
像Date
原始类型一样。