Предположим, у нас есть строка s и string_view sv в некоторой части s, так что
sv.data() + sv.size() < s.data() + s.size()
, другими словами, символ после конца sv по-прежнему является частью s. Является ли следующее определенное или неопределенное поведение?
string_view sv1 {sv.data(), sv.size()+1};
Итак, можем ли мы расширить string_view?
Из cppreference:
Поведение не определено, если [s, s + count) не является допустимым диапазоном (даже если конструктор может не получить доступ ни к одному из элементов этого диапазона).
Является ли [sv.data (), sv.data () + sv.size () + 1) допустимым диапазоном, поскольку он является частью s?