侯捷C++ STL:迭代器的分类

STL六大部件的关系:
侯捷C++ STL:迭代器的分类
array,vector,deque是random_access_iterator_tag;list,红黑树(set/multiset,map/multimap)是bidirectional_iterator_tag;forward_list是farward_iterator_tag;而hash(unordered set/multiset,unordered map/multimap)要看底层是单向还是双向。
连续空间可以跳,不连续空间不能跳。
侯捷C++ STL:迭代器的分类
typename加上(),会生成临时对象。最后两个istream_iterator,ostream_iterator是适配器。
侯捷C++ STL:迭代器的分类
各iterator_category的typeid
侯捷C++ STL:迭代器的分类
侯捷C++ STL:迭代器的分类
侯捷C++ STL:迭代器的分类