2D 配列を動的に割り当て、それを何らかの計算に使用し、それをスタック上の result という名前の変数に配置し、2D 配列の割り当てを解除するコードがあります。なぜこれが機能するのか、後で割り当てを解除できるグローバル 2D 配列を使用するのではなく、この方法でプログラミングするのが良い方法なのか疑問に思っていました。
{
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;
}
ありがとう