Create a Two-Dimensional Array on the Heap - by Arman Sahakyan
// Returns a pointer-to-pointer to a newly created array
// of size [row : col]
int** Create2D(int row, int col)
{
int **p = new int* [row];
for (int j = 0; j < row; j ++)
p[j] = new int[col];
return p;
}
// Deletes an array pointed by 'p' that has 'row' number rows
void Delete2D(int **p, int row)
{
for (int j = 0; j < row; j ++)
delete [] p[j];
delete [] p;
}
int main()
{
int m = 3, n = 4;
int **p = Create2D(m, n);
// some actions with p[i][j]...
Delete2D(p, m);
return 0;
}