谁能告诉我为什么我的列表迭代器讨厌.end() - 1?我想在列表结束之前迭代到一个,我的印象是,你总是可以做到这一点!上请求列表迭代器和 - 运算符的问题
std::list<Hammer::shared_ptr<Hammer::Actor>> collisionActorsList;
std::list<Hammer::shared_ptr<Hammer::Actor>>::iterator _actorUpdateIter = collisionActorsList.begin();
while(_actorUpdateIter != (collisionActorsList.end()-1)) // ERROR HERE
{
// check against every other actor
std::list<Hammer::shared_ptr<Hammer::Actor>>::iterator _otherActorsUpdateIter = _actorUpdateIter+1; // ERROR HERE TOO
while(_otherActorsUpdateIter != collisionActorsList.end())
{// SOME STUFF }
}
你能分享证明这种仇恨的代码吗? – Johnsyweb 2013-04-06 04:07:37
当然,它的确很复杂,但会尝试。 – angryInsomniac 2013-04-06 04:08:36
也许你会用'--'将'-'弄糊涂。您可以递减最后一个迭代器。 – jeffmagill 2013-04-06 04:19:51