C++ Primer学习笔记(四)—— 认识迭代器

    迭代器(iterator):是一种检查容器内元素并遍历所有元素的数据类型。

    每个容器类都定义了自己的迭代器类型,如vector:

    vector<int>::iterator iter;

    这条语句定义了一个名为iter的变量,它的数据类型是由vector<int>定义的iterator类型。

    每种容器都定义了一对命名为begin和end的函数,用于返回迭代器。如果容器中有元素的话,由begin返回的迭代器指向第一个元素:

    vector<int>::iterator iter = ivec.begin();

    上述语句把iter初始化为由名为begin的vector操作返回的值。假设vector不空,初始化后,iter即指该元素为ivec[0]。

    由end操作返回的迭代器指向vector的“末端元素的下一个”。通常称为超出末端迭代器(off-the-end iterator),表明它指向了一个不存在的元素。如果vector为空,begin返回的迭代器和end返回的迭代器相同。

    迭代器可以使用解引用操作符(*操作符)来访问迭代器所指向的元素。 解引用操作符返回迭代器当前所指向的元素:

    *iter = 0;

    迭代器使用自增操作符向前移动迭代器指向容器中下一个元素:

    ++iter;

    注:用于end操作返回的迭代器不指向任何元素,因此不能对它进行解引用或自增操作。

   

原文地址:https://www.cnblogs.com/ppffs/p/3246293.html