C++ Forward 迭代器

C++ Forward 迭代器 首页 / C++入门教程 / C++ Forward 迭代器
  • 转发迭代器是双向和随机访问迭代器的组合。因此,可以说正向迭代器可用于读取和写入集合。
  • 正向迭代器用于从集合的开头到结尾读取内容。
  • 正向迭代器仅使用增量运算符(++)在集合的所有元素之间移动。因此,可以说正向迭代器只能向前移动。
  • 正向迭代器是一次多遍迭代器。

让我们看一个简单的示例:

#include <iostream>
#include <fstream>
#include <iterator>
#include <vector>

using namespace std;

template<class ForwardIterator>                                      //函数模板
void display(ForwardIterator first, ForwardIterator last)           //display函数
{
 while(first!=last)
 {
     cout<<*first<<" ";
     first++;
 }
}

int main()
{

  vector<int> a;                         //向量的声明。
  for(int i=1;i<=10;i++)
  {
      a.push_back(i);
  }
  display(a.begin(),a.end());               //调用 display() 函数.

  return 0;
}

输出:

1 2 3 4 5 6 7 8 9 10

转发迭代器函数:

C++ Forward Iterator
  • 等式/不等式运算符 : 可以使用等式或不等式运算符比较正向迭代器。

假设" A"和" B"是两个迭代器:

A==B;          //相等运算符
A!=B;           //不相等运算符
  • 解引用:我们可以将正向迭代器解引用为右值和左值。因此,我们可以访问输出迭代器,也可以将值分配给输出迭代器。

假设" A"是迭代器," t"是整数变量:

*A = t;
t = *A; 
  • 可增量:前向迭代器可以递增,但不能递减。

假设" A"是迭代器:

A++;
++A;

转发迭代器局限性:

  • 可递减:正向迭代器只能向前移动,因此不能递减。

假设" A"是迭代器:

A--;         //invalid
  • 关系运算符:前向迭代器可以与相等运算符一起使用,但是其他关系运算符不能应用于前向迭代器。

假设" A"和" B"是两个迭代器:

A==B;       //valid
A>=B;       //invalid
  • 算术运算符:算术运算符不能与正向迭代器一起使用。
A+2;        //invalid
A+3;        //invalid
  • 随机访问:前向迭代器不提供元素的随机访问。它只能遍历集合的元素。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

趣谈Linux操作系统 -〔刘超〕

深入浅出计算机组成原理 -〔徐文浩〕

全栈工程师修炼指南 -〔熊燚(四火)〕

后端存储实战课 -〔李玥〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

成为AI产品经理 -〔刘海丰〕

基于人因的用户体验设计课 -〔刘石〕

程序员的测试课 -〔郑晔〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)