动态建立和删除二维数组

给出动态建立和删除二维数组的函数,方便大家使用:

/*建立时 先给行分配*[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;
}

你可能感兴趣的:(动态建立和删除二维数组)