我有一个对象,我想在游戏中连续循环旅行.我有一系列坐标std::vector,我想用作航点.
有没有办法制作std::vector<T>::iterator循环(也称为循环器)?
我能想到的最好的是拥有两个迭代器,然后每当第一个迭代器耗尽时,为它分配第二个迭代器的值(不会用于做任何其他事情)但我甚至不确定它是否会起作用 - 将赋值运算符复制迭代器用于保存索引的任何内容,还是只引用它(因此在第二轮之后将无用)?
我希望对象永远地沿着路点行进(除非它被破坏但在该方法中不会发生),但迭代器只会为每个帧调用一次并且必须返回以便我可以更新游戏中的其他对象.
该解决方案必须适用于gcc和microsoft编译器(如果无法在标准C++中编写它).