Я хотел бы получить доступ к членам объектов, содержащихся в списке таких объектов.
У меня есть класс CApp
с членом std::list<Particle> PList
, служащим списком частиц.
Класс Particle
имеет члена void Update()
, который, по моему пониманию, не может быть константным, поскольку он влияет на экземпляр (интеграция с эйлером и прочее).
Я хотел бы перебрать PList для обновлениявсе частицы.
Конструктор частиц включает в себя:
Particle::Particle(std::list<Particle>* PList_In) {
PList = PList_In;
PList->push_back(*this);
}
Несколько раз вызывается следующее:
Particle(&PList);
Таким образом, список создается.В качестве примечания, если бы кто-нибудь мог объяснить, что на самом деле там с точки зрения памяти (указатели, ссылки), это было бы замечательно.
Но в основном это ошибка:
// Update all particles
std::list<Particle>::const_iterator iter;
for (iter = PList.begin(); iter != PList.end(); iter++) {
iter->Update();
}
с
error: passing ‘const Particle’ as ‘this’ argument of ‘void Particle::Update()’ discards qualifiers
Не знаете, что с этим делать, если требуется дополнительная информация / объяснения, дайте мне знать.
Заранее спасибо!