std::string_viewについて

そもそも何のためにあるのかよくわからん。
変更しない文字列を参照する際の、コピーコスト削減が目的?
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型配列を渡すのは大丈夫らしい(ヌル文字の扱いには注意)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です