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

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

    每一个容器类都定义了本身的迭代器类型,如vector:spa

    vector<int>::iterator iter;it

    这条语句定义了一个名为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;im

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

    ++iter;

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

相关文章
相关标签/搜索