📜  C++ 中的迭代器(1)

📅  最后修改于: 2023-12-03 15:13:58.984000             🧑  作者: Mango

C++ 中的迭代器

在 C++ 标准库中,迭代器是一种用于遍历容器中元素的对象。它是指向容器内部元素的一种智能指针。使用迭代器可以遍历容器的元素,而不必关心容器的内部实现方式。

迭代器的种类

C++ 标准库提供了多种迭代器,它们有不同的特点和用途。以下是常见的迭代器种类:

  1. 输入迭代器(Input Iterator):只读,用于遍历容器中的元素。例如 istream_iterator

  2. 输出迭代器(Output Iterator):只写,用于将元素写入容器中。例如 ostream_iterator

  3. 前向迭代器(Forward Iterator):可以读写容器中的元素,并支持单向遍历。例如 forward_list::iterator

  4. 双向迭代器(Bidirectional Iterator):支持前后遍历,并可以读写容器中的元素。例如 list::iterator

  5. 随机访问迭代器(Random Access Iterator):支持快速随机访问容器中的元素,并支持读写操作。例如 vector::iterator

迭代器的使用

迭代器的使用非常灵活,可以在算法中使用它们对容器进行遍历和操作。以下是迭代器的常见用法:

// 定义容器并初始化
vector<int> v{ 1, 2, 3, 4, 5 };

// 使用迭代器遍历容器
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
    cout << *it << ' ';
}

// 使用迭代器修改容器内的值
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
    *it += 10;
}

// 使用迭代器在容器中插入元素
vector<int>::iterator it = v.begin() + 2;
v.insert(it, 10);

// 使用迭代器在容器中删除元素
it = v.begin() + 3;
v.erase(it);
总结

迭代器是 C++ 中很重要的概念,它使得容器的遍历和操作变得更加方便和灵活。要熟练掌握迭代器的使用,我们需要了解不同种类的迭代器,并能够熟练地使用迭代器对容器进行遍历、操作和插入、删除等操作。