列举vector反向迭代器的成员函数
时间: 2024-03-30 14:31:37 浏览: 92
vector类提供了反向迭代器(reverse iterator)来逆序遍历容器中的元素。以下是vector反向迭代器的成员函数:
1. `rbegin()`:返回一个指向容器最后一个元素的反向迭代器。
2. `rend()`:返回一个指向容器第一个元素前面的位置的反向迭代器。
3. `crbegin()`:返回一个指向容器最后一个元素的常量反向迭代器。
4. `crend()`:返回一个指向容器第一个元素前面的位置的常量反向迭代器。
这些成员函数可以用于遍历vector容器中的元素,从最后一个元素开始,逐个向前遍历到第一个元素。
相关问题
列举vector反向迭代器的成员函数base()
vector反向迭代器的成员函数base()是用于获取当前反向迭代器所指向元素的正向迭代器的方法。它返回一个正向迭代器,指向与当前反向迭代器相对应的元素。
下面是使用base()函数的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用反向迭代器遍历vector
for (auto it = vec.rbegin(); it != vec.rend(); ++it) {
// 获取当前反向迭代器所指向元素的正向迭代器
auto forwardIt = it.base();
// 输出当前元素的值
std::cout << *forwardIt << " ";
}
return 0;
}
```
输出结果为:5 4 3 2 1
c++vector的构造
C++中的vector是一个动态数组,可以根据需要自动扩展和收缩。它是通过标准库<vector>提供的模板类实现的。vector的构造有多种方式,下面列举了几种常用的构造方法:
1. 默认构造函数:
```cpp
std::vector<int> v; // 创建一个空的vector
```
2. 指定大小和初始值的构造函数:
```cpp
std::vector<int> v(5, 10); // 创建一个大小为5,初始值为10的vector
```
3. 利用已有数组范围构造:
```cpp
int arr[] = {1, 2, 3, 4, 5};
std::vector<int> v(arr, arr + sizeof(arr) / sizeof(int)); // 利用已有数组范围构造vector
```
4. 利用迭代器范围构造:
```cpp
std::vector<int> v(arr, arr + 5); // 利用迭代器范围构造vector
```
5. 复制构造函数:
```cpp
std::vector<int> v1(5, 10);
std::vector<int> v2(v1); // 复制v1构造v2
```
这些只是vector构造的几个例子,你可以根据具体需求选择适合的构造方式。
阅读全文