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