C++ 如何实现耦合阵列的迭代器?

C++ 如何实现耦合阵列的迭代器?,c++,iterator,std,C++,Iterator,Std,我有自己的课程,描述一些复数的数学向量。其中,它的真实部分和复杂部分分别存储 class Vector{ private: unsigned int dim; //dimensionality of vector double* real; double* imag; }; 我故意不使用单个std::complex数组,因为在向量中有一些高性能例程,它们分别处理向量的实部和复杂部 class Vector{ private: unsigned int dim; //dimens

我有自己的课程,描述一些复数的数学向量。其中,它的真实部分和复杂部分分别存储

class Vector{
private:
  unsigned int dim; //dimensionality of vector
  double* real;
  double* imag;
};
我故意不使用单个
std::complex
数组,因为在
向量中有一些高性能例程,它们分别处理向量的实部和复杂部

class Vector{
private:
  unsigned int dim; //dimensionality of vector
  double* real;
  double* imag;
};
现在我想实现一个迭代器,它应该返回指向向量中适当元素的指针,并且应该具有类型
std::complex

换句话说,问题是“如何通过不同类型的迭代器组织对两个耦合数组的访问?”

当然,我不想存储额外的
std::complex
数组,也不想在调用迭代器期间将数组转换为所需的数组


请帮助我实现一些基本操作,例如
begin()
end()

为什么不简单地使用
std::vector而不是自己滚动。可能重复的。您是否真的关心自己构建它,或者了解现有(在Boost中)zip_迭代器是否足够好?