1.方法1 STL
std::vector<std::vector<int> > matrix;
matrix.resize(size, std::vector<int>(size, 0));
// 释放
if(!matrix.empty())
qrmatrix.clear();
2.方法2 指针法
int **qrmatrix=new int*[size];
for (int i=0;i<size;i++)
qrmatrix[i]=new int[size];
for (int y = 0; y < size; y++){
const int yy=y*size;
for (int x = 0; x < size; x++){
const int xx=yy+x;
const unsigned char b = qr->data[xx];
qrmatrix[x][y] = b&0x01;
}
}
//*************************
//释放
if(qrmatrix)
{
for (int j=0; j<size; j++)//释放每个一维数组
delete []qrmatrix[j];
delete []qrmatrix;//释放整个二维数组
qrmatrix = NULL;
}
网友评论