如何在C++中不使用迭代器遍历Vector
迭代器不是遍历任何STL容器的唯一方式。有一种更好、更有效的方法可以在不使用迭代器的情况下通过容器中存储的值遍历向量。以下是向量的相同语法:
语法:
解释: 这里 itr 是存储在向量中用于遍历向量的值。下面的程序说明了相同的内容:
更新向量中的值: 要更新向量中的值而不使用迭代器,请使用引用遍历向量中存储的值并更新该值。以下是相同内容的语法:
语法:
解释: 这里 itr 是存储在向量中用于遍历向量的值的地址。下面的程序说明了相同内容:
优点:
- 编写代码简单易懂。
- 比使用迭代器方法更好、更有效。
缺点:
- 它仅向前迭代。
- 不保留计数器,即我们不能使用该遍历方式找到任何元素的索引。为了计算元素,必须显式地取出计数器。
我们还可以使用相同的遍历方式在C++中遍历很多不同的容器。以下是相同内容的说明:
- Map:
输出:
- Map of Vectors:
输出:
- Set:
输出:
- Deque:
输出: