背景
C++ vector官方文档中,在进行遍历操作时往往使用迭代器,而非for循环+临时计数变量count
笔者由此思考迭代器的作用,记录如下
阅读本文需要的前置知识
- 了解迭代器的语法
- 了解vector常见操作方法
正文
我们可以先想一想,不使用迭代器进行遍历操作的坏处是什么
可以想象到,我们必须定义一个计数变量,该变量需要通过某种方式获取容器中元素个数,从而实现遍历操作
因此,这种方式的最大缺点为:
必须暴露集合对象的内部
也就是说,后续接管代码的人员,必须下探容器内部逻辑,才能够对遍历操作的相关代码进行维护
因为,如果不这样做的话,将无法确定这个计数变量是囊括所有元素,抑或是只包含了其中的奇数个元素,抑或是以其他方式进行选择性计数
如果使用迭代器,代码将具有一定程度上的松耦合性,易于复用,维护时也不必下探容器内部逻辑
代码示例
#include<vector>
vector<int

本文探讨了在C++中使用迭代器而非下标访问容器的必要性,特别是从代码的可维护性和安全性角度。文章指出,使用迭代器避免了暴露容器内部逻辑,增强了代码的松耦合性,使得维护和复用更方便。文中提供了使用auto声明迭代器以提高代码简洁性的示例。

5万+

被折叠的 条评论
为什么被折叠?



