Согласно описанию в cppreference.com :
Шаблон класса basic_string_view
описывает объект, который может ссылаться на постоянную непрерывную последовательность char
-подобногообъекты с первым элементом последовательности в нулевой позиции.
Однако может быть полезно использовать этот шаблон класса с неконстантными char
указателями, например, для записи в завершающий нольСтрока байта с использованием стандартных алгоритмов. Например, воображая гипотетического std::editable_string_view
, владеющего char*
, можно написать что-то вроде
void filler(char *str, std::size_t len, char c) {
std::editable_string_view sv(str, len);
std::fill(sv.begin(), sv.end(), c);
}
Есть ли причины для std::basic_string_view
поддерживать только указатели констант?