私はstd::string_view
ライブラリをいじくり回しており、私が取り組んでいるコードベースをstd::string_view
可能な限り使用するように変更することを考えていました。ただし、私が読んだスレッドの多くでは、のstd::string_view
代わりにいつ、どこで使用するかについて説明しましたconst std::string &
。「nullで終了する文字列が必要ないとき」と多くの回答が言うのを見てきました。それで、私がWebを検索し始めたとき、「いつnullで終了する文字列が必要ですか?」この件に関して役立つ答えを見つけたことはありません。
にリンクする外部ライブラリの例が考えられますstd::string
。そしてその場合、そのライブラリはそれを必要とするので、ヌルで終了する文字列が必要になります。別の例としては、文字列自体を変更する必要がある場合が考えられますが、変更する必要がある場合は渡されませんconst &
。
では、nullで終了する文字列をいつ使用する必要があるでしょうか。
私が見たリンク:
const char*
引数を取るPOSIXやその他のCライブラリなどのほとんどの関数。エエロリカの答えには例があります。