【问题标题】:Should I increment or decrement the reverse iterator?我应该增加还是减少反向迭代器?
【发布时间】:2021-08-05 01:22:17
【问题描述】:

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

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

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

我正在寻求一个直观的解释,以便我能永远记住它。我不希望每次都查看它。

【问题讨论】:

  • 想想做你计数的步骤。 r 或不表示采取的方向。
  • 你想在这里使用++。在反向迭代器中,++ 也可以反向工作。
  • 一般经验法则,从头到尾递增,从头到尾递减。

标签: c++ algorithm reverse-iterator


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-04-27
    • 2021-08-25
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2021-08-18
    相关资源
    最近更新 更多