Здравствуйте, Videoman, Вы писали:
V>Код собирается, но работает не правильно — (возвращает не 4-ку). Глянув на ассемблер, можно понять почему: компилятор в памяти генерирует 5-ть экземпляров str и естественно их итераторы несовместимы друг с другом и результат их вычитания не определен.
V>Вопрос к знатокам: что происходит, в чем я не прав, где тупанул? Если убрать constexpr то результат для меня предсказуемый (хоть возможно это и UB).
Включи оптимизацию
Вообще от подобных компиляторов больше вреда чем пользы.