- почему он реализован таким образом? Чтобы вы могли легко написать что-то вроде std::find(a.begin() +3, a.begin() + 4, 5)?
- Если бы итераторы в C++ были реализованы, как описано в книге GoF, то на самом деле это были бы диапазоны?
Подробнее здесь: https://stackoverflow.com/questions/787 ... tocol-in-c