如何获取std::vector容器当前迭代器的上一个迭代器
时间: 2023-10-17 13:16:34 浏览: 94
详解C++中的vector容器及用迭代器访问vector的方法
可以使用std::prev函数来获取std::vector容器中当前迭代器的上一个迭代器。std::prev函数的语法如下:
```
template< class BidirIt >
BidirIt prev( BidirIt it, std::ptrdiff_t n = 1 );
```
其中,it是一个双向迭代器,n是一个整数,表示要向前移动的步数,默认为1。返回值是当前迭代器向前移动n个位置后的迭代器。
例如,下面的代码演示了如何使用std::prev函数获取std::vector容器中当前迭代器的上一个迭代器:
```
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.begin() + 2; // 指向3
auto prev_it = std::prev(it); // 指向2
std::cout << *prev_it << std::endl; // 输出2
```
在这个例子中,我们首先定义了一个std::vector<int>类型的容器vec,并使用迭代器it指向其中的第三个元素(即3)。然后,我们使用std::prev函数获取当前迭代器的上一个迭代器,即指向第二个元素(即2)。最后,我们输出prev_it指向的元素,即2。
阅读全文