++i が lvalueになれるから
すげーぜ C++!-ときどきの雑記帖さんより、C++ では ++i が lvalue になれるという話。
・・・知らなかったです。
インクリメント/デクリメントオペレータをオーバーロードするとき、前置は参照で、後置は値で返すのが定石ですが*1、後置が参照で返せるわけがないのは当然として、前置がなんで参照で返すべきなのか(どっちでもいいじゃん、ややっこしいなぁ、と)、イマイチ釈然と来ていなかったの三猫ですが、ようやく合点がいきました。lvalue になるんじゃ参照で返さないとそりゃダメです。
それにしても、全然嬉しくないわ、コレ。