emplate <class Item>
class Iteration {
public:
Item *m_ptr;
Iteration(Item *p=0) : m_ptr(p){}
Item &operator*() {
return *m_ptr;
}
Item *operator->() {
return m_ptr;
}
Iteration &operator++() {//++i
m_ptr = m_ptr->next();
return *this;
}
Iteration operator++(int) {
Iteration tmp(*this);
++(*this);
return tmp;
}
bool operator == (const Iteration &i) const {
return m_ptr == i.m_ptr;
}
bool operator != (const Iteration &i) const {
return m_ptr != i.m_ptr;
};iterator的简单实现
最新推荐文章于 2019-04-24 21:46:20 发布
本文详细介绍了迭代器设计模式的实现方法,通过模板类的形式定义了一组操作元素的方法,包括前缀递增、后缀递增及比较运算等。该模式能够遍历聚合类型中的元素而无需暴露其底层细节。
905

被折叠的 条评论
为什么被折叠?



