そもそも何のためにあるのかよくわからん。
変更しない文字列を参照する際の、コピーコスト削減が目的?
string_viewの末尾にはヌル文字が付与されないんだったっけ?
void f(std::string_view sv)
{
std::cout << sv.substr(0, 4) << std::endl;
}
int main()
{
char str[]{"abc"};
f(str);
}
実行結果
abc
というのが問題ないっぽいので、string_viewにchar型配列を渡すのは大丈夫らしい(ヌル文字の扱いには注意)
コメントを残す