要获取 list 中指定位置的迭代器,可以使用 list 的成员函数 begin()end(),以及迭代器的加法运算符。

假设我们有一个 list 对象 lst,要获取它的第 3 个元素的迭代器,可以按照以下步骤操作:

  1. 获取 lst 的起始迭代器:auto it = lst.begin();
  2. 将迭代器 it 向后移动 2 个位置,即跳过前两个元素:std::advance(it, 2);
  3. 现在的迭代器 it 指向 lst 的第 3 个元素,可以将它返回或者用于操作该元素。

完整的代码如下:

#include <list>

int main() {
    std::list<int> lst = {1, 2, 3, 4, 5};

    // 获取 lst 的第 3 个元素的迭代器
    auto it = lst.begin();
    std::advance(it, 2);
    auto third = it;

    // 输出第 3 个元素
    std::cout << *third << std::endl;

    return 0;
}

输出:

3
C++ List: 获取指定位置的迭代器

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

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