Let's say I'm implementing a collection, say something like std::vector. I need to implement iterator and const_iterator, but once I've made iterator can const_iterator not just be implemented as iterator<const T> (where T is the type contained in the collection)?
There must be some reason why this doesn't work because there are a million questions about how to re-use code while implementing iterator and const_iterator but none of them say "just use const T as the type".