导入
简介
在本课程的这一部分,我们将学习如何实现迭代器,并使用它们来遍历我们的数据。
一方面,迭代器 是指针的泛化形式,用于表示容器中的位置。另一方面,它们提供了强大的遍历和随机访问能力。
迭代器是标准模板库中通用容器与通用算法之间的桥梁。
迭代器支持以下操作:
*:返回当前位置的元素。
==, !=:比较两个位置。
=:为迭代器赋新值。
基于范围的 for 循环会隐式使用迭代器。
由于迭代器不进行边界检查,因此存在与指针类似的潜在问题。
1#include <iostream> 2#include <vector> 3#include <queue> 4using namespace std; 5 6int main(){ 7 std::vector<int> vec{1, 23, 3, 3, 3, 4, 5}; 8 std::deque<int> deq; 9 10 // 起始迭代器大于结束迭代器 11 std::copy(vec.begin()+2, vec.begin(), deq.begin()); 12 13 // 目标容器太小 14 std::copy(vec.begin(), vec.end(), deq.end()); 15 return 0; 16}
在下一课中,我们将讨论迭代器的三种主要类别。