【发布时间】:2021-07-09 20:23:54
【问题描述】:
我正在尝试做一个小程序,在其中为我自己的向量类使用迭代器。我需要重载operator *() 以从vector 中获取当前元素,operator++() 使当前位置+1,operator !=,operator < 等
这是我尝试创建迭代器并重载一个运算符的课程:
template < typename T>
class MyIterator {
private:
vectorV<T> & someName;
int position;
public:
MyIterator( vectorV<T> & rq)
: someName( rq ), position()
{}
T & operator*()
{
return myRingQueue; //???
}
};
【问题讨论】:
-
互联网上肯定有成千上万的关于如何创建迭代器的教程和示例。更不用说关于运算符重载的大量书籍、教程和示例了。
-
对于向量,迭代器通常非常简单,只是一个指向向量中元素的指针的薄包装。 *、+、++ 几乎都属于常规的指针操作。
标签: c++ iterator operator-overloading