Здравствуйте, Videoman, Вы писали:
V>Неожиданно для себя обнаружил неочевидное, для себя, поведение связки std::string и std::string_view. Из коробки к строке нельзя конкатенировать отображение строки.
V>
V>Вопросы к знатокам:
V>- с чем связано такое решение в стандарте?
V>- чем такая конкатенация отличается от конкатенации с сырой С-шной строкой?
Догадка:
1) string_view не поддерживает никакие операции с аллокацией памяти.
2) Если такое сложение разрешить, велика вероятность сделать ошибку типа:
std::string_view result = "foo"s + "bar"sv; //< store reference on temporary string
По этой же причине, нет неявного преобразования string_view->string.