如何在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])。 请帮忙
答案 0 :(得分:2)
不使用指针和跟踪记忆,而应使用矢量。
vector<vector<vector<vector<int>>>> vector4d(dim1, vector<vector<vector<int>>>(dim2, vector<vector<int>>(4, vector<int>(5, 0))))