三角行列を表す非常に大きな配列にメモリを割り当てる必要があります。私は次のコードを書きました:
const int max_number_of_particles=20000;
float **dis_vec;
dis_vec = new float **[max_number_of_particles];
for (i = 0; i<max_number_of_particles; i++)
dis_vec[i] = new float *[i];
for (i = 0; i<max_number_of_particles; i++)
for (j = 0; j<i; j++)
dis_vec[i][j] = new float[2];
問題は、マトリックスのサイズが大きくなると、(メモリを割り当てるために)それを実行するのに必要な時間が急速に長くなることです。誰かがこの問題のより良い解決策を知っていますか?
ありがとう。