C++ vector迭代器for循环遍历详解

在C++中,std::vector是一种常用的动态数组容器。迭代器 (iterator) 为访问和操作容器元素提供了灵活的方式。本文将重点介绍如何使用 for 循环结合迭代器来遍历 std::vector 容器。

代码示例

以下代码演示了如何使用迭代器的 for 循环遍历 std::vector:cpp#include #include

int main() { std::vector vec {1, 2, 3, 4, 5};

// 使用迭代器遍历 vector 中的元素    for (auto it = vec.begin(); it != vec.end(); ++it) {        std::cout << *it << ' ';    }    std::cout << '

';

return 0;}

输出结果:

1 2 3 4 5

代码解释

  1. 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 容器的常用方法。通过合理地使用迭代器,我们可以方便地访问和操作容器中的元素。

C++ vector迭代器for循环遍历详解

原文地址: https://www.cveoy.top/t/topic/b950 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录