MST
星途 面试题库

面试题:C++中STL容器迭代器begin()在vector中的起始定位应用

假设有一个`std::vector<int> vec = {1, 2, 3, 4, 5};`,请写一段代码,使用`begin()`迭代器定位到起始位置,并遍历输出所有元素,同时说明`begin()`返回的迭代器类型以及它的特点。
37.8万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    auto it = vec.begin();
    while (it != vec.end()) {
        std::cout << *it << " ";
        ++it;
    }
    std::cout << std::endl;
    return 0;
}

begin()返回的迭代器类型是std::vector<int>::iterator 。其特点如下:

  • 随机访问:可以像指针一样进行算术运算,例如it + n来访问容器中相隔n个元素的位置,能高效地直接访问容器中的任意元素。
  • 可修改:不仅可以读取元素值(通过解引用*it),也可以修改元素值,比如*it = new_value