STL中 容器 算法 迭代器 之间的关系
最近一直在看侯捷写的《STL源码剖析》小有想法。故此一记1,三者之间联系: 每个容器都有专属的迭代器,而算法通过迭代器对容器中的元素进行操作。2,容器 容器能够通过模版的方法,装下各种类型的节点元素。3,迭代器是一种smart
·
最近一直在看侯捷写的《STL源码剖析》小有想法。故此一记
1,三者之间联系:
每个容器都有专属的迭代器,而算法通过迭代器对容器中的元素进行操作。
2,容器
容器能够通过模版的方法,装下各种类型的节点元素。
3,迭代器是一种smart pointer
迭代器是一种行为类似指针的对象。迭代器所指向的对象为容器中元素(结构体)的节点。
如定义一个 class List 的容器 ,容器的节点为ListItem,那么迭代器就应该指向(的对象)容器中的ListItem节点。
而迭代器通过重载 * (解引用)运算符,从而就可以得到节点的值。通过重载operator -> 运算符就可以得到容器节点地址(指针)
4,算法:
算法通过操作容器对应的迭代器,就可以间接地操作容器中的元素。而不需要关注容器的内部细节
更多推荐
已为社区贡献1条内容
所有评论(0)