繰り返しpush_back()を使用してベクトルを初期化する際の問題
したがって、私のプログラムには、doubleとdouble配列のみを含む構造体があります。
struct Particle {
double x[2];
double v[2];
double pressure;
.......
};
次のようにベクトルの1つを初期化すると、次のようになります。
std::vector<Particle> p_vec(2500);
すべて正常に動作しますが、その行を次のように置き換えると次のようになります。
std::vector<Particle> p_vec;
Particle p;
for (int i = 0; i < 2500; i++) p_vec.push_back(p);
私のプログラムはまだforループを通過しますが、後でクラッシュします。
これら2つの方法の間に欠けている違いはありますか?