给出动态建立和删除二维数组的函数,方便大家使用:
/*建立时 先给行分配*[rows]内存空间,再给每行分配int [cols]内存空间;删除时,过程刚好相反*/
#include <except.h>
template <class T>
bool Make2DArray(T ** &x, int rows, int cols)
{// Create a two dimensional array.
try {
// create pointers for the rows
x = new T * [rows];
// get memory for each row
for (int i = 0; i < rows; i++)
x[i] = new int [cols];
return true;
}
catch (xalloc) {return false;}
}
template <class T>
void Delete2DArray(T ** &x, int rows)
{// Delete the two-dimensional array x.
// delete the memory for each row
for (int i = 0; i < rows; i++)
delete [] x[i];
// delete the row pointers
delete [] x;
x = 0;
}