最近钻研到《Essential C++》的第三章:泛型编程风格。着实让人。。好生研究了一番,怎么说呢,就是单拿出来概念,都能看懂,但连在一块,一脸懵。所以也是花了不少时间理解的差不多了才能来写这篇笔记,这部分暂时准备写两到三个笔记,涉及泛型编程思维,迭代器,STL等一些概念,后面会陆续进行发布。
那么这一节我们首先来看一下迭代器。
迭代器这个概念对于初学者来说其实并不友好,因为在比较官方的定义中大致是这样的:
众所周知,STL(Standard Template Library 标准模板库)主要是由两部分组成:容器(文章最后会进行简答的区别),比如常见的vector,list等,还有就是对容器进行操作的泛型算法,比如find(),sort()等,而迭代器就像胶着剂一样在这两者之间,但是通过这两天查看的资料来看他主要负责对容器进行遍历。
其实对于初学者来讲,迭代器这个概念可以参考指针,首先我们先来看一段代码:
在这段代码中,我们定义了一个指针p指向数组arr,然后通过for循环进行数组的遍历。下面我们再来看迭代器。