我正在尝试实现一个迭代器,它封装了另一个迭代器并执行范围检查。因此我像这样从那个迭代器扩展:
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++,执行范围检查,然后调用我正在扩展的类的超级方法。
因此,我想知道是否有可能以某种方式设置“this”-iterator (r_iterator) 指向的元素,假设我正在扩展一些 STL Iterator 类。
不幸的是,我在 c++ 参考中找不到任何相关信息。
问候和感谢