如何在c ++中为2-D固定数组动态分配4-D数组的存储器

时间:2015-03-17 13:35:05

标签: c++ arrays

如何在c ++中使用2-D固定数组动态分配4-D数组的存储器

我知道用这种方式分配带有二维固定阵列的三维阵列的方法

int n = 100;
double (*a)[4][5];
a = new double[n][4][5];

但在四维情况下,我该怎么办?

int n = 100;
int m = 1000;
double (*(*a))[4][5];
a = new double[m][][4][5] ???

通过使用四重指针可以避免此问题 (double **** a),但我需要在我的代码系统中使用固定矩阵([4] [5])。 请帮忙

1 个答案:

答案 0 :(得分:2)

不使用指针和跟踪记忆,而应使用矢量。

vector<vector<vector<vector<int>>>> vector4d(dim1, vector<vector<vector<int>>>(dim2, vector<vector<int>>(4, vector<int>(5, 0))))