Добрый день,
Предположим, что я пишу Python-подобный диапазон на C ++. Он предоставляет все характеристики контейнеров произвольного доступа (конечно, неизменных). У меня возникает вопрос о следующей ситуации:
У меня есть два разных итератора, которые указывают на разные экземпляры контейнера диапазона. Дело в том, что эти два диапазона равны . то есть они представляют один и тот же диапазон. Вы позволите следующую ситуацию:
fact: range1 == range2 e.g.
---------------------------
range range1(10, 20, 1), range2((10, 20, 1);
range::iterator i = range1.begin(), j = range2.begin();
assert(i == j); // would you allow this?
Извините, если мне не хватает простого правила проектирования в STL:)