事実上プロキシであり、それが返すデータを含む反復子がある場合、逆反復子を作成するにはどうすればよいでしょうか?
逆参照演算子の std::reverse_iterator 実装は、次のようなコードを使用して、デクリメントおよび逆参照する一時オブジェクトを作成します。
reference operator*() const {
iterator tmp = current;
return *--tmp;
}
その結果、返されるのは、データを取得する前に範囲外になるデータへのポインターです。
これはかなり残念な結果です。
どうすればこれを回避できますか?