私は、これは間違っていないことを確認してくださいしたいと思います:私はC++配列の初期化、良い練習
double* lower = input->getLowerBox();
どこ機能getLowerBox(で配列を初期化すること)*一部のdoubleを返します。それが正しいか?それとも、私はこの方法を初期化SHOLD ::
double* lower = new double[nbP];
for (int i=0;i<nbP;i++)
lower[i]=input->getLowerBox()[i];
またはgetLowerBoxへの複数の呼び出しを回避するために、
double* lower = new double[nbP];
double* tmp = input->getLowerBox();
for (int i=0;i<nbP;i++)
lower[i]=tmp[i];
delete[] tmp;
配列の代わりにベクトルを使用することをお勧めします。 – chris
'getLowerBox()'が返すものと返されるものの所有権によって異なります。 Btw、最後の2つのケースで配列を初期化していない個々の配列要素を割り当てています。 –
一般的な '' std :: vector'や、 'std :: array'おそらく – Kos