C++ 如何创建自己的向量迭代器

C++ 如何创建自己的向量迭代器,c++,vector,iterator,C++,Vector,Iterator,所以我有一些特定的向量 vector< MyType > vector 我想以一种特定的方式迭代这个向量。我决定制作我自己的向量迭代器,它是从vector::const_迭代器派生而来的。“特定方式”是索引在迭代过程中应该如何变化的方式,它取决于两个初始值,所以我写了如下内容: class MyVectorIterator: public vector< MyType >::const_iterator { MyVectorIterator(unsigned

所以我有一些特定的向量

vector< MyType >
vector
我想以一种特定的方式迭代这个向量。我决定制作我自己的向量迭代器,它是从vector::const_迭代器派生而来的。“特定方式”是索引在迭代过程中应该如何变化的方式,它取决于两个初始值,所以我写了如下内容:

class MyVectorIterator: public vector< MyType >::const_iterator
{
     MyVectorIterator(unsigned int, bool);
     ...
}
类MyVectorIterator:public vector::const\u迭代器
{
MyVectorator(无符号整数,布尔);
...
}

但是我应该如何确定开始索引以及应该重载哪些运算符和方法呢?

您如何知道
vector:const\u iterator
是一种类类型?它可能只是一个
MyType常量*
。换句话说,你想做的不是一个好主意。编写操作
向量::(const_)迭代器的函数,而不是试图将该逻辑封装在自定义迭代器类型中。我强烈建议在执行类似操作之前仔细查看。具体地说,您可以从开始时使用几行代码来完成此操作。