本文,仅对C++ iterator的知识点进行归纳整理,给出设计的关键步骤。
参考:
- 资料一:http://www.cplusplus.com/reference/iterator/(第一参考,简单精要)
- 资料二:http://jjhou.boolan.com/programmer-3-traits.pdf(侯捷随笔,非常全面,有时间深刻可看)
- 资料三:http://en.cppreference.com/w/cpp/iterator(纯资料)
资料精解:
- 资料二
- 推演思路:算法的泛化、迭代器的基本形式及其操作、迭代器与容器的关系、迭代器的五种相应类型。
- 结论:设计适当的相应类型,是迭代器的责任;设计适当的迭代器,则是容器的责任。唯有容器本身,才知道该设计怎样的迭代器来遍历自己