我有一个名为“ntuple”的容器,它本质上是一个 C 数组和长度。它的主要目的是作为多维数学函数的参数。截至目前,它真的很快,并利用了多个形式的构造函数
ntuple(double x, double y, double z)
{
size = 3;
vec = new double[size];
vec[0] = x;
vec[1] = y;
vec[2] = z;
}
每次我使用更高维度但已知的函数时,我只需添加一个新的构造函数。我也有一个数组:
ntuple(double* invec, long unsigned insizesize)
为了使我的代码与常规 c++ 代码更兼容,我应该实现一个 ntuple 迭代器类吗?我所做的一切都不需要一个,似乎它只会减慢一切。但是我读得越多,为了与标准 C++ 代码兼容而使用迭代器似乎就越重要。
我担心当有人尝试使用我的代码时,它不会与他们期望使用的标准技术很好地配合。但是我的 ntuple 类的目的只是将参数带入函数中。
我是否应该以减慢代码速度为代价实现迭代器作为预防措施(如果其他人会尝试在其上使用 STL)?
谢谢。