Я работаю над очень простой игрой, и у меня есть коллекция std :: list объектов, относящихся к моей игре. Я объявил это как:
std::list<Target> targets;
Когда я повторяю это, используя
for (std::list<Target>::iterator iter = targets.begin(); iter != targets.end(); iter++) {
Target t = *iter;
t.move();
}
Мои объекты не обновляются в графическом интерфейсе. Однако, заменив итерационный цикл на targets.front().move()
, мой единственный объект перемещается правильно. Я думаю, что это потому, что я не перебираю коллекцию, используя указатели. Кто-нибудь может объяснить, как это делается? Спасибо.