问题描述
如给定的 here,一个向后遍历列表的好方法是使用 rbegin()
,如下所示:
list<DVFGfxObj*>::reverse_iterator iter = m_Objs.rbegin();
for( ; iter != m_Objs.rend(); ++iter) {
}
不幸的是,我不记得是 ++iter
还是 --iter
。因为我们正在倒退,所以使用 --iter
对我来说也是合乎逻辑的。
我正在寻求一种直观的解释,以便我永远记住它。我不想每次都查一下。
解决方法
使用反向迭代器的唯一原因是向后遍历序列。如果您可以使用 --
,则可以使用常规迭代器。始终使用 ++
。