容器迭代器

Posted dreamafar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器迭代器相关的知识,希望对你有一定的参考价值。

容器迭代器

尽管C++指针也是迭代器,但用的更多的是容器迭代器。容器迭代器用法和iterdemo.cpp一样,但和将迭代器申明为指针变量不同的是,你可以使用容器类方法来获取迭代器对象。两个典型的容器类方法是begin()和end()。它们在大多数容器中表示整个容器范围。其他一些容器还使用rbegin()和rend()方法提供反向迭代器,以按反向顺序指定对象范围。

下面的程序创建了一个矢量容器(STL的和数组等价的对象),并使用迭代器在其中搜索。该程序和前一章中的程序相同。

Listing 2. vectdemo.cpp

#include <iostream.h>
#include <algorithm>
#include <vector>
 
using namespace std;
 
vector<int> intVector(100);
 
void main()
{
  intVector[20] = 50;
  vector<int>::iterator intIter =
    find(intVector.begin(), intVector.end(), 50);
  if (intIter != intVector.end())
    cout << "Vector contains value " << *intIter << endl;
  else
    cout << "Vector does not contain 50" << endl;
}

 

注意用下面的方法显示搜索到的数据:

cout << "Vector contains value " << *intIter << endl;

以上是关于容器迭代器的主要内容,如果未能解决你的问题,请参考以下文章

迭代器的抽象

如何使用包含策略类型的容器创建容器迭代器?

函数返回迭代器以构造 STL 容器

STL之迭代器(iterator)

容器迭代器

从不同类型容器的迭代器初始化向量