我正在开发一个非常基本的游戏,并且我有一个 std::list 与我的游戏相关的对象集合。我将其声明为:
std::list<Target> targets;
当我迭代它时,使用
for (std::list<Target>::iterator iter = targets.begin(); iter != targets.end(); iter++) {
Target t = *iter;
t.move();
}
我的对象没有在 GUI 上更新。但是,用 a 替换迭代循环targets.front().move()
,我的一个对象会正确移动。我认为这是因为我没有使用指针迭代集合。谁能解释这是怎么做的?谢谢。