int のような基本的なデータ型の場合、次のコード スニペットでコンパイル エラーが発生します
i++ = 2;
明らかにi++
左辺値ではありません
しかし、C++ でカスタム クラスをオーバーロードする場合、ほとんどの人は、ポスト インクリメント演算子のシグネチャは次のようにする必要があると提案しています。
Date Date::operator++(int) {
Date temp = *this;
// do increment
return temp;
}
私の質問は、戻り値の型をプリミティブ型const Date
の代わりにすべきではない理由です。Date