我正在创建一个需要存储不同数组(如数据)的类。这些数组的大小是可变的,但类中的所有数组都具有相同的大小。这些数组稍后将用于类提供的方法中的数字运算。
在类中声明此类数据的最佳/标准方式是什么?
解决方案 1 – 原始数组
class Example {
double *Array_1;
double *Array_2;
double *Array_3;
int size; //used to store size of all arrays
};
解决方案 2 –std::vector
对于每个阵列
class Example {
vector<double> Array_1;
vector<double> Array_2;
vector<double> Array_3;
};
解决方案 3 -struct
存储每个顶点并具有std::vector
该结构的A
struct Vertex{
double Var_1;
double Var_2;
double Var_3;
};
class Example {
vector<Vertex> data;
};
作为初学者,我的结论是:
解决方案 1 的性能最好,但最难实现。
解决方案 3 会更优雅且更易于实现,但在执行某些计算时会遇到问题,因为信息不是数组格式。这意味着接收数组/向量的数字常规函数将不起作用(我需要创建临时向量才能进行数字运算)。
解决方案 2 可能是中途。
对于第四个解决方案的任何想法将不胜感激。