リストと少し混乱しています。下記参照:
int ParticleSystemManager::CreateParticleSystem()
{
ParticleSystem* system = new ParticleSystem(Vector3(), Vector3(), 10, 1);
system->SetLifeTime(200);
list<ParticleSystem>::iterator it = particleSystems.begin();
particleSystems.insert(it, *system);
selectedParticleSystem = system;
return 0;
}
私がやりたいことは、作成したばかりの粒子システムを取得して、粒子システムのリストに追加することですが、追加した粒子システムをポインターに格納することも望んでいます。ただし、リストを反復処理すると、メモリの場所が selectedParticleSystem ポインターによって格納された場所と異なることに気付きました。どうすれば同じにできますか?アップデートは以下です。
void ParticleSystemManager::Update(float elapsedTime)
{
for (std::list<ParticleSystem>::iterator iterator = particleSystems.begin(), end = particleSystems.end(); iterator != end; ++iterator)
{
iterator->Update(elapsedTime);
}
}