如何在功能中使用如此多的3D数组?

时间:2012-03-27 15:09:26

标签: c++ arrays multidimensional-array

我有一大堆3D数组,我想将一些数组传递给一个函数。我用这段代码创建我的数组:

double ***alloc3d(int l, int m, int n) {
double *data = new double [l*m*n];
double ***array = new double **[l];
for (int i=0; i<l; i++) {
    array[i] = new double *[m];
    for (int j=0; j<m; j++) {
        array[i][j] = &(data[(i*m+j)*n]);
    }
}

return array;
}

我的数组是a1,a2,...,a40 我想将我的一些数组传递给我的函数并返回它,而不是全部,但是例如我想通过a20 [2] [3] [5],...,a40 [2] [3] [ 5]。有没有办法传递它们而不用手写它们?

感谢。

0 个答案:

没有答案