STL迭代器 - 目的

Nar*_*rek 3 c++ iterator stl

STL迭代器的目的是什么?为什么程序员会创建这个概念呢?

Mar*_*k B 24

迭代器允许您将算法与容器分开.只要你有一个开始和结束迭代器,并且知道迭代器的功能(随机访问等),你就可以在迭代器指定的范围内进行操作.例如,见std::for_each,std::transform.这样,您可以只实现一个算法版本,而不需要为您希望它运行的每个容器编写一个新版本.

  • Narek可能只熟悉易于迭代的容器,例如数组和链表.但是数据结构可能需要任意复杂的逻辑来迭代.您可以拥有一个P2P系统,每次增加迭代器时,您都要求当前服务器在哪里找到下一个服务器并连接到它,或者沿着这些线路疯狂. (3认同)