C++创建二维数组(矩阵)的两种方法

2021-08-19  本文已影响0人  田陌允

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;
}
上一篇 下一篇

猜你喜欢

热点阅读