Quote Originally Posted by Zaccheus
In fact std::string::iterator IS an example of an iterator which is not guaranteed to iterate over contiguous memory.
Well, it's a debatable point, depending on what kind of guarantee you're looking for. The current standard does not require that strings be contiguous, but future standards will and most if not all current implementations do.