📜  C++ Vector.rbegin()函数(1)

📅  最后修改于: 2023-12-03 14:39:53.726000             🧑  作者: Mango

C++ Vector.rbegin()函数

简介

C++标准模板库(STL)中的vector是一个容器。rbegin()函数返回vector容器的一个反向迭代器,该迭代器指向vector容器的最后一个元素。rbegin()是reverse begin的缩写。

rbegin()函数的定义如下:

reverse_iterator rbegin();
const_reverse_iterator rbegin() const;

其中,reverse_iterator是vector中的反向迭代器类型;const_reverse_iterator是vector中的常量反向迭代器类型。如果我们需要在函数中修改vector,我们应该使用reverse_iterator。

例子

假设我们有以下vector:

vector<int> v {1, 2, 3, 4, 5};

我们可以使用rbegin()函数获取反向迭代器,从而访问vector中的最后一个元素:

auto iter = v.rbegin();
cout << *iter;  // 输出 5

如果你需要在for循环中遍历vector,可以使用auto关键字和迭代器类型推导:

for (auto iter = v.rbegin(); iter != v.rend(); ++iter) {
    cout << *iter << " ";  // 输出 5 4 3 2 1
}
注意事项
  1. rbegin()函数返回反向迭代器,如果想要获取正向迭代器应该使用begin()函数。
  2. rbegin()函数返回的是一个反向迭代器,迭代器的操作和正向迭代器是相反的。例如,使用++操作符递增迭代器将向前移动(后退一个元素),而不是向后移动(前进一个元素)。
  3. 在反向迭代器的for循环中,迭代器的结束位置应该是rend()函数,而不是end()函数。rend()函数返回反向迭代器指向的最后一个元素的下一个元素的位置。
结论

rbegin()函数是vector中很有用的函数之一。它提供了一种方便的方法来访问vector中的最后一个元素。反向迭代器不仅可以用于访问vector中的元素,还可以用于算法。例如,我们可以使用反向迭代器对vector进行反转操作。