c++ - 反向指针迭代器的标准方法

标签 c++ pointers iterator reverse

是否有类似 rbeginrend 的指针?

我有指向 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/

相关文章:

java - 嵌套的 if else 语句不会转到 if else 部分

c++ - 安装VC2008后VC2005变慢了

c++ - C++访问结构中的结构数组的元素

c++ - 如何正确地将回调函数从 swift 传递到 C++?

c++ - 分配内存并将其分配给指针C++

c++ - 迭代器的动态大小检查?

c++ - 为什么我的 C++ 圆抗锯齿算法会给出不对称的结果?

c++ - 对象似乎没有使用 AABB 碰撞方法发生碰撞

c++ - 如何按降序排序?

python - 如何从生成器中只选择一项?