C ++中的双向迭代器

在这里,我们将看到C ++中双向迭代器的概念。

  • 双向迭代器支持正向迭代器的所有功能,还支持前缀和后缀减量运算符。

  • 这种类型的迭代器可以在两个方向上访问元素,例如朝着结束和朝着开始。

  • 随机访问迭代器也是双向迭代器的一种。

  • 双向迭代器具有正向迭代器的功能,但是唯一的区别是该迭代器也可以递减。

双向迭代器具有一些属性。这些如下。

属性表达
双向迭代器是默认可构造的,可复制分配的并且也是可破坏的A p
A q(p)
 q = p
我们可以使用相等和不相等运算符比较它们p == q
 p!= q
可以取消引用。我们可以使用解引用运算符(*)来获取值。* p
可变迭代器可以取消引用为左值* p = t
我们可以使用增量运算符(++)和减量运算符(-)进行递增或递减p ++
 q--

范例程式码

#include <iostream>

#include<iterator>

#include<vector>

using namespace std;

int main() {

   vector<int> vec{10, 20, 30, 40, 50, 60, 70, 80, 90, 100};

   vector<int> ::iterator it;

   vector<int> :: reverse_iterator rev_it;

   for(it = vec.begin(); it != vec.end(); it++)

      cout<<*it<<" ";

      cout<< endl;

   for(rev_it = vec.rbegin(); rev_it!= vec.rend(); rev_it++)

      cout<<*rev_it<<" ";

}

输出结果

10 20 30 40 50 60 70 80 90 100

100 90 80 70 60 50 40 30 20 10

以上是 C ++中的双向迭代器 的全部内容, 来源链接: utcz.com/z/361108.html

回到顶部