vector - iterator traversal possible
list - iterator traversal possible
deque - iterator traversal NOT possible
map - enables usage of non-int index type
set - A set is a container that contains all unique values
templates - parametrized classes , works with differenc types , can be called class overloading
I said that iterators are pointers, but there is more. They look like
pointers, act like pointers, but they are actually embedded in which the
indirection operator (unary *) and -> have been
overloaded to return a value from the container. It is a bad idea to store them
for any length of time, as they usually invalid after a value has been added or
removed from a container. They are something like handles in this regard. The
plain iterator can be altered, so that the container is to be traversed in
different ways:
++ operator, not the -- or +=
operator on it. For vector only you can use any of +=,
--, -=, ++, and all the comparison
operators <, <=, >, >=,
==, !=.
reverse_iterator, begin() with rbegin(), and
end() with rend(), ++ will then
traverse backwards.
const value. Use this if you want to
make it clear that this points to a read-only value.
const value. Source : http://www.codeproject.com/vcpp/stl/PracticalGuideStl.asp

Source : http://www.cs.brown.edu/people/jak/proglang/cpp/stltut/tut.html ( Refer for a pictorial view of STL containers and iterators )
The Standard Template Libraries (STL's) are a set of C++ template classes to provide common programming data structures and functions such as doubly linked lists (list), paired arrays (map), expandable arrays (vector), large string storage and manipulation (rope), etc. The STL library is available from the STL home page. This is also your best detailed reference for all of the STL class functions available.
STL can be categorized into the following groupings:
Source : http://yolinux.com/TUTORIALS/LinuxTutorialC++STL.html