迭代器模式
迭代器模式:提供一种方法,使得外部可以依次访问内部的元素,而不需要明确其结构的内部实现。
STL的中心思想是:数据容器与算法分离,彼此独立设计,最后通过一定的融合技术将两者结合使用。
STL三大基本组件:容器、算法、迭代器
Iterator find(Iterator first,Iterator last,const T& val)
{
while(first!=last && *first!=val)
{
first++;
}
return first; //若没找到 将返回末尾的下一个 即 .end()
}
find算法无需知道具体的容器实现,而只要Iterator提供实现即可
STL的迭代器实现
STL迭代器是一种smart pointer :其能够像指针一样执行解指针* ->访问内部数据,同时支持迭代到下一个元素
以list为例,其一个参考的实现如下:
class listitem
{
public:
int value() const{
return val;}