特に、接頭演算子の参照渡しは理にかなっています。オブジェクトに対してさらに操作を行いたい場合に便利です。
しかし、なぜ後置演算子が値を返すように設計されたのか、私には理解できません。
それは単なる慣例ですか、それともこのように設計されたのには正当な理由がありましたか (値による戻り値は後置には意味がありませんが、前置には意味があります)。
誰か説明できますか?
答え
以下の回答のおかげで、後置演算子は必ずしも値で返す 必要はないようです (標準によると)。
ただし、後置演算子のセマンティック要件 (元の値を返しますが、後で元の値への参照をインクリメントする) により、次の標準要件と併せて:
演算子のオーバーロードは関数であるため、すべての副作用は関数が完了する前に発生する必要があります。
以下のDavid Rodriguezによって明確に説明されているように、値の分岐はセマンティック要件の必然的な結果のようです。
このコンテキストでは、他の値を返すため (元の参照ではありません。関数の右中括弧によって変更されるため)、他の値を値で返すことが最も理にかなっているようです。