C++ vector迭代器for循环遍历详解
C++ vector迭代器for循环遍历详解
在C++中,std::vector是一种常用的动态数组容器。迭代器 (iterator) 为访问和操作容器元素提供了灵活的方式。本文将重点介绍如何使用 for 循环结合迭代器来遍历 std::vector 容器。
代码示例
以下代码演示了如何使用迭代器的 for 循环遍历 std::vector:cpp#include
int main() { std::vector
// 使用迭代器遍历 vector 中的元素 for (auto it = vec.begin(); it != vec.end(); ++it) { std::cout << *it << ' '; } std::cout << '
';
return 0;}
输出结果:
1 2 3 4 5
代码解释
vec.begin(): 获取指向vector第一个元素的迭代器。2.vec.end(): 获取指向vector末尾的下一个位置的迭代器(注意:不是指向最后一个元素)。3.it: 迭代器变量,用于遍历vector中的元素。4.it != vec.end(): 循环条件,判断迭代器是否到达vector末尾。如果未到达末尾,循环继续执行。5.++it: 每次迭代后,将迭代器it向后移动一个位置,指向下一个元素。6.*it: 解引用迭代器,访问当前迭代器所指向的元素。
注意事项
- 使用迭代器进行循环遍历时,要确保迭代器不会访问到超出容器范围的位置,否则可能导致程序崩溃。*
vec.end()返回的迭代器指向的是vector容器最后一个元素的下一个位置,它本身不指向任何元素,因此不能对其进行解引用操作。
总结
使用迭代器和 for 循环是遍历 std::vector 容器的常用方法。通过合理地使用迭代器,我们可以方便地访问和操作容器中的元素。
原文地址: https://www.cveoy.top/t/topic/b950 著作权归作者所有。请勿转载和采集!