2次元配列を連続メモリブロックに作成しようとしましたが、NサイズのM連続ブロックを与えています。2次元配列を連続メモリブロックで動的に作成する
int **arr = new int*[M];
for (int i = 0 ; i < M ; i++)
{
arr[i] = new int[N];
}
連続メモリブロックに2Dアレイを作成するにはどうすればよいですか?
2次元配列を連続メモリブロックに作成しようとしましたが、NサイズのM連続ブロックを与えています。2次元配列を連続メモリブロックで動的に作成する
int **arr = new int*[M];
for (int i = 0 ; i < M ; i++)
{
arr[i] = new int[N];
}
連続メモリブロックに2Dアレイを作成するにはどうすればよいですか?
int *buffer=new int[M*N];
int **arr=new int*[M];
for(int i=0;i<M;++i)
arr[i]=buffer+i*N;
実際には、arrポインタを格納する必要はありません。必要に応じて計算できます。
** **あなた自身では行わないでください。 boost :: multi_arrayを使用してください。 –
ええ、何も新しいことを学んではいけません。猿のようなコードです。 – bartimar