在C中,如果我想创建一个矩阵结构,我会使用:
struct matrix {
int col, row;
double data[1]; // I want the matrix entries stored
// right after this struct
}
Run Code Online (Sandbox Code Playgroud)
然后我可以分配它
matrix* allocate_matrix(int row, int col) {
matrix* m = malloc(sizeof(matrix) + sizeof(double) * (row * col - 1));
m->row = row; m->col = col;
return m;
}
Run Code Online (Sandbox Code Playgroud)
现在我在C++中做等效吗?
编辑:
我想知道在C++中实现矩阵类的方法.
我读过一vector-OF- vector给定一个固定的2秒是坏的第二维度,但我无法找到有关此问题的一个明确的解释http://www.stackoverflow.com.
可能有人给为什么在单个使用二维索引的说明vector是优选使用vector-OF- vectorS表示固定2 次尺寸?
另外,我假设a- vectorof- vectors是具有可变第二维的2D数组的首选数据结构?如果有任何相反的证据,我很乐意看到.
我正在尝试创建一个class grid包含数据成员的unsigned NR,unsigned NC它还应该包含一个2D数组double Coordiantes[NR][NC]。我希望初始化数据成员NR,并NC通过类的构造函数。我试图避免二维数组的动态分配,因为我更喜欢连续内存分配,以便尽可能避免缓存丢失。
我不确定是否可以,但是任何输入都会有所帮助。