我有自己的类,它描述了一些复数的数学向量。其中一个真实而复杂的部分是分开存储的。
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()
。