我应该增加还是减少反向迭代器?

问题描述

如给定的 here一个向后遍历列表的好方法是使用 rbegin(),如下所示:

list<DVFGfxObj*>::reverse_iterator iter = m_Objs.rbegin();
for( ; iter != m_Objs.rend(); ++iter) {
}

不幸的是,我不记得是 ++iter 还是 --iter。因为我们正在倒退,所以使用 --iter 对我来说也是合乎逻辑的。

我正在寻求一种直观的解释,以便我永远记住它。我不想每次都查一下。

解决方法

使用反向迭代器的唯一原因是向后遍历序列。如果您可以使用 --,则可以使用常规迭代器。始终使用 ++