如何为耦合数组实现迭代器?

时间:2015-09-18 15:13:26

标签: c++ iterator std

我有自己的类,它描述了一些复数的数学向量。其中一个真实而复杂的部分是分开存储的。

class Vector{
private:
  unsigned int dim; //dimensionality of vector
  double* real;
  double* imag;
};

我故意不使用std::complex<double>的单个数组,因为在Vector内部有一些高性能的例程,它们分别与向量的真实和复杂部分一起使用。

现在我想实现一个迭代器,该迭代器应该返回指向vector的相应元素的指针,并且应该有std::complex<double>类型。

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

当然,我不想存储额外的std::complex数组,以及在调用迭代器时从我的数组转换为必需的数组。

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

0 个答案:

没有答案