Iterators
1.NPUT ITERATORS must meet the following conditions: 1) prefix and postfix 2) Operator! = 3) Dereference * and only support read, not support write4) Operator == See in msdntemplate
2.Output Iterators must meet the following criteria: 1) perfix and postfix 2) dereference *, only support writesee below: template
3.Forward Iterators meet all requirements of Input and Ouput Iterator, while you can store a Forward Intelate and use it to traverse, so you can use it.
MultiPass Algorithm. See Below: Template 4. Bidirectional Iterators meets all the requirements of Forward Iterator, while providing prefix - and postfix - list :: iterator meets the requirements, due to List is a Double Link Listsuch Algorithm Reverse Require Bidirectional Iterators 5.random Access Iterators meets all the requirements of the Bidirectional Iterator, and provides the following operations (R, S is Random Access Iterator, N integers): 1) R N and R-N2) R [N], ie * (R n) 3) Two-way jump, R = N and R- = N4) Operator- with random access itrator, ie RS, get an integer value 5) Operator Comparisons Between Random Access Iterator, ie R Since the vector does not provide push_front, Front_Insert_Iiterator cannot use the Vector, and all containers provide INSERT operations. For, INSERT_ITEARTOR can be used by all containers. 7.Istream_iterator and ostream_iterator uses the ITERATOR and OUTPUT ITERATOR, just two associated objects must be input (ISTREAM &) and output Ostream &) S, R <= S, R> = S, get a BOOL value vector, Deque's Iterator satisfies these requirements. Such an algorithm requires iterator has binary_search, sort, etc. 6.Insert Iterator1) back_insert_iterator