我有一个代码,它动态分配一个二维数组,将它用于一些计算,然后将它放到堆栈上一个名为 result 的变量上并释放二维数组。我想知道为什么这样做有效,这样做是否是一种很好的编程实践,而不是拥有一个可以在以后释放的全局二维数组。
{
int *matrix = new int[5];
for(row = 0; row<array_size+1;row++)
{
subSolution[row] = new (nothrow) int[request+1];
if(subSolution[row] == NULL)
return -1;
}
//do some stuff
result = subSolution[1][request];
for(row = 0; row<array_size+1; row++ )
delete [] subSolution[row];
delete [] subSolution;
return result;
}
谢谢