我想實現一個封裝另一個迭代器並執行範圍檢查的迭代器。因此,我從這樣的迭代器如此延伸:在C++中擴展迭代器
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」迭代器指向的元素。我想這樣做,我可以重寫某些方法,如運算符++,例如,執行範圍檢查,然後調用我正在擴展的類的超級方法。
我想知道是否有可能以某種方式設置「this」-iterator(r_iterator)指向的元素,假定我擴展了一些STL Iterator類。
我很遺憾沒有在C++的參考資料中找到任何關於它的信息。
問候,並感謝您
聽起來類似於'提振:: iterator_range'。 – Rapptz
不幸的是,我需要它自制。 – ben
爲什麼不委派代替繼承? –