Ответ 1
Если вы можете, найдите и прочитайте "Стандартная библиотека С++: учебник и справочник". Эта книга содержит целую главу о итераторах STL.
Вот что-то из книги:
Iterator Category Ability Providers
----------------- ------------------------------- ----------------------------
Input iterator Reads forward istream
Output iterator Writes forward ostream, inserter
Forward iterator Reads/writes forward forward_list,
unordered_[multi]set,
unordered_[multi]map
Bidirectional it. Reads/writes forward/backward list, [multi]set, [multi]map
Random access it. Reads/writes with random access vector, deque string, array