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 100100 90 80 70 60 50 40 30 20 10
以上是 C ++中的双向迭代器 的全部内容, 来源链接: utcz.com/z/361108.html