iterator需要遵循的原则

image.png

<aside> 💡

iterator需要能够回答算法的提问

</aside>

image.png

iterator需要提供的五个属性(associated types)

class iterator

image.png

image.png

Traits

<aside> 💡

Iterator Traits用于区分class iterators与non-class iterators(如pointer)

</aside>

image.png

traits使用偏特化区分non-class iterator

image.png

non-class iterator如何回答问题

image.png