请问C++map如何判断迭代到最后一个元素?

for (auto r = run.begin(); r != run.end() && r->second != page->second; r++)

这是一个map的迭代器,我想在迭代器中用if判断顺利迭代到了run中最后一个元素,请问条件应该怎么写,我使用的是r==run.find(run.size())这样的话能顺利判断吗?

这里我已经解决了问题,我的定义是可以判断迭代器迭代到最后一个元素的,代码问题不在这里

map有end()函数,end()返回的是map最后一个元素的下一个位置,可以使用迭代器判断,是否等于run.end(),如果r==run.end()说明已经到map的最后。但是map的最后一个元素的位置是run.end()--;

如有帮助,请采纳一下,谢谢