std::reverse_iterator::base

来自cppreference.com
Iterator base() const;
(C++17 前)
constexpr Iterator base() const;
(C++17 起)

返回底层迭代器。即 std::reverse_iterator(it).base() == it

底层迭代器指代(从 std::reverse_iterator::iterator_type 视角的) reverse_iterator 当前所指元素的下一个元素。即 &*(rit.base() - 1) == &*rit

目录

[编辑] 参数

(无)

[编辑] 返回值

底层迭代器。

[编辑] 异常

(无)

[编辑] 示例

#include <iostream>
#include <iterator>
#include <vector>
 
int main()
{
    std::vector<int> v = { 0, 1, 2, 3, 4, 5 };
 
    using RevIt = std::reverse_iterator<std::vector<int>::iterator>;
    RevIt r_end(v.begin());
    RevIt r_begin(v.end());
 
    for (auto it = r_end.base(); it != r_begin.base(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << "\n";
}

输出:

0 1 2 3 4 5

[编辑] 参阅

访问指向的元素
(公开成员函数) [编辑]