是否有类似 rbegin
和 rend
的指针?
我有指向 c 样式字符串的头部和尾部的指针,但想为它们创建反向迭代器。
我想知道是否有标准提供的方法可以做到这一点,或者我是否必须为此编写自己的代码。
编辑:我使用低级代码是有原因的。没有 std::basic_string
之类的。目标是使用 std::find
查找最后一次出现的值。
最佳答案
使用std::reverse_iterator
:
#include <iostream>
#include <iterator>
int main() {
const char* s = "abc";
std::reverse_iterator<const char*> first(s + 3);
std::reverse_iterator<const char*> last(s);
for( ; first != last; ++first) {
std::cout << *first;
}
std::cout << '\n';
return 0;
}
关于c++ - 反向指针迭代器的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22488316/