我对列表有点困惑。见下文:
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);
}
}