concept: the value_type of a standard container (the type of the object stored in the container) is required to be Assignablehttp://www.sgi.com/tech/stl/Assignable.html
a const T ( or for that matter a T& ) is not Assignable and cannot be the value_type in a standard container.

for a standard container, begin() and end() are overloaded on the const specifier.
on a modifiable container, begin() and end() return container::iterator.
on a const container, begin() and end() returns container::const_iterator.

for a standard container, begin() and end() are overloaded on the const specifier.
on a modifiable container, begin() and end() return container::iterator.
on a const container, begin() and end() returns container::const_iterator.