在C++中,如果要多次使用数组,占用很大内存,就必须用动态创建的方式。使用完以后,释放数组。必须特别注意循环的嵌套顺序,否则,对各个维度不同的数组,比如a[3*2*5],而不是a[5*5*5],可能会释放不充分。
以下举出三维数组的创建和释放方法,假设各个维数已经获得,并且在程序中用具体数字代替:
创建:
double ***xiao28=new double**[4];
for(i=0;i<4;i++)
{
xiao28[i]=new double*[2];
for(j=0;j<2;j++)
xiao28[i][j]=new double[50];
}
释放:
for(i=0;i<4;i++)
{
for(j=0;j<2;j++)
delete[] xiao28[i][j];
delete[] xiao28[i];
}
delete[] xiao28;