因为我们现在有advance()andprev()移动迭代器可以向前或向后移动,我们已经有了begin()and end()。
我想知道有没有什么情况我们更好/必须前后移动反向迭代器?
算法通常采用两个迭代器来指定元素范围。例如std::for_each:
std::vector<int> x;
std::for_each(x.begin(),x.end(),foo);
Run Code Online (Sandbox Code Playgroud)
如果您想以for_each相反的顺序进行迭代(注意:for_each是否按顺序进行迭代)那么既advance没有prev帮助也没有任何帮助,但是您可以使用反向迭代器:
std::for_each(x.rbegin(),x.rend(),foo);
Run Code Online (Sandbox Code Playgroud)