如何在c ++中解除分配int***

Dog*_*Dog 2 c++ pointers multidimensional-array

如何在c ++中释放这种类型的3D数组?我有一个有一个int***卷作为成员的类,我用这种方式填充它.

    volume = new int**[xSize];
    for(int i =0; i<xSize; i++)
    {
        volume[i] = new int*[ySize];
        for(int j =0; j<ySize; j++)
        {
            volume[i][j] = new int[zSize];
            for(int k = 0; k<zSize;k++)
            {
                volume[i][j][k] = 0;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

Dav*_*hme 6

你只需要反转你的动作(除了填充数组)

for(int i =0; i<xSize; i++)
{
    for(int j =0; j<ySize; j++)
    {
        delete[] volume[i][j];
    }
    delete[] volume[i];
}
delete[] volume;
Run Code Online (Sandbox Code Playgroud)