Gil*_*lad 0 c++ memory-management
int newHeight = _height/2;
    int newWidth = _width/2;
    double*** imageData = new double**[newHeight];
    for (int i = 0; i < newHeight; i++)
    {
        imageData[i] = new double*[newWidth];
        for (int j = 0; j < newWidth; j++)
        {
            imageData[i][j] = new double[4];
        }
    }
我动态分配了这个3D矩阵.什么是最快最安全的释放内存的方法?
这是我已经完成但是这需要几秒钟我的矩阵很大(1500,2000,4)
  for (int i = 0; i != _height/2; i++)
        {
            for (int j = 0; j != _width/2; j++)
            {
                delete[] imageData[i][j];
            }
            delete[] imageData[i];
        }
        delete[] imageData;
更新
 
如建议我选择了这个解决方案:
std::vector<std::vector<std::array<double,4>>>
性能对我的情况很好
将整个图像数据分配为一个块,以便将其作为一个块释放,即.double* imageData = new double[width*height*4]; delete [] imageData;并使用偏移量对其进行索引.现在你正在进行300万次 单独的分配,这会分散你的堆.