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