两个宏,用来创建和销毁二维动态数组的:
#define matrix_allocate(matrix,width,height,TYPE) {\
matrix=new TYPE *[height];\
for(int _i=0;_i<height;_i++)\
matrix[_i]=new TYPE[width];\
}
#define matrix_delete(matrix,width,height){\
for(int _i=0;_i<height;_i++)\
delete [] matrix[_i];\
delete [] matrix;\
matrix=0;\
}
举例如下:
BYTE **pDBArray = NULL;
matrix_allocate(pDBArray, width, height, BYTE);
if(pDBArray != NULL)
{
matrix_delete (pDBArray, width, height);
pDBArray = NULL;
}