1

別のイテレータをカプセル化し、範囲チェックを実行するイテレータを実装しようとしています。したがって、私はそのイテレータから次のように拡張しています:

 template<typename ITERATOR_T>
 class r_iterator : public ITERATOR_T {

     //...

     r_iterator (ITERATOR_T begin, ITERATOR_T end) {
         this->begin = begin;
         this->end = end;
    }
 };

コンストラクターで渡されるイテレーターを使用して、範囲チェックを実行したいと考えています。私の考えは、「this」イテレーター (つまり r_iterator) が指すものを、コンストラクターからの「begin」イテレーターが指す要素に設定することです。たとえば、operator++ などの特定のメソッドをオーバーライドし、範囲チェックを実行してから、拡張しているクラスのスーパー メソッドを呼び出すことができるようにしたいと考えています。

したがって、STL Iterator クラスを拡張していると仮定して、「this」イテレーター (r_iterator) が指す要素を何らかの方法で設定できるかどうかを知りたいと思います。

残念ながら、C++ リファレンスでそれに関する情報を見つけることができませんでした。

よろしくお願いします

4

1 に答える 1