在数组索引上使用迭代器

Pri*_*Raj 12 c++

我只是想知道在数组索引上使用迭代器的主要优点是什么.我用谷歌搜索,但我没有得到正确的答案.

T.E*_*.D. 15

我猜你在谈论使用矢量时,对吧?

主要优点是迭代器代码适用于所有stl容器,而数组索引操作符[]仅适用于矢量和deques.这意味着如果需要,您可以自由更改基础容器,而无需重新编码每个循环.它还意味着您可以将迭代代码放在模板中,它可以用于任何容器,而不仅仅是deques和矢量(当然还有数组).

  • Operator []也可以隐藏任意复杂的操作. (2认同)
  • @prithviraj:在设计库时,迭代器的重点更为重要.只要他提供迭代器,您就不必担心库的用户如何表示他的数据.使用`operator []`会让用户更加困难.您应该阅读STL-Concepts以了解其中的差异. (2认同)

Mic*_*fik 6

所有标准容器都提供迭代器概念.迭代器知道如何在容器中查找下一个元素,尤其是当底层结构不像数组时.operator[]每个容器都不提供数组样式,因此不管您选择哪个容器,养成使用迭代器的习惯都会使代码看起来更加一致.