cppreference.comの説明によると:
クラス テンプレートは、シーケンスの最初の要素がゼロの位置にあるようなオブジェクト
basic_string_view
の一定の連続したシーケンスを参照できるオブジェクトを記述します。char
ただし、そのクラス テンプレートを const 以外のchar
ポインターで使用すると便利な場合があります。たとえば、標準アルゴリズムを使用して null で終わるバイト文字列に書き込む場合などです。たとえば、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
const ポインターのみをサポートする理由はありますか?