タグ付けされた質問 「string-view」

5
std :: string_viewはconst std :: string&よりどのくらい正確に高速ですか?
std::string_viewはC ++ 17に対応しており、の代わりに使用することをお勧めしますconst std::string&。 その理由の1つはパフォーマンスです。 誰かが、パラメータタイプとして使用した場合よりも正確に std::string_view、または高速になると説明できますかconst std::string&?(呼び出し先にコピーが作成されていないと仮定しましょう)
221 c++  string  c++17  string-view 

1
string_viewとは何ですか?
string_viewC ++ 17に追加されたC ++ Library Fundamentals TS(N3921)内で提案された機能でした。 私が理解している限り、それはある種の文字列「概念」を表すタイプであり、文字列として表示可能なものを格納できるあらゆるタイプのコンテナのビューです。 これは正解 ? 正規 const std::string&パラメータタイプは次のようになりstring_viewますか? string_view考慮すべきもう1つの重要な点はありますか?

1
グローバルconst char []をconstexpr string_viewに置き換える落とし穴はありますか?
私たちのチームは10年以上前のC ++コードベースで作業しており、最近C ++ 17コンパイラに切り替えました。そこで、コードを最新化する方法を探しています。YouTubeでのカンファレンストークで、const char*グローバル文字列をに置き換えるという提案を聞きましたconstexpr string_view。 const char*コードにはこのようなグローバル文字列定数が多数含まれているので、知っておく必要のある問題や潜在的な問題がないか確認したいのですが。

2
読み取り専用のシナリオでnullで終了する文字列が必要になるのはいつですか?
私はstd::string_viewライブラリをいじくり回しており、私が取り組んでいるコードベースをstd::string_view可能な限り使用するように変更することを考えていました。ただし、私が読んだスレッドの多くでは、のstd::string_view代わりにいつ、どこで使用するかについて説明しましたconst std::string &。「nullで終了する文字列が必要ないとき」と多くの回答が言うのを見てきました。それで、私がWebを検索し始めたとき、「いつnullで終了する文字列が必要ですか?」この件に関して役立つ答えを見つけたことはありません。 にリンクする外部ライブラリの例が考えられますstd::string。そしてその場合、そのライブラリはそれを必要とするので、ヌルで終了する文字列が必要になります。別の例としては、文字列自体を変更する必要がある場合が考えられますが、変更する必要がある場合は渡されませんconst &。 では、nullで終了する文字列をいつ使用する必要があるでしょうか。 私が見たリンク: std :: string_viewはconst std :: string&よりどのくらい正確に高速ですか? std :: string_viewの代わりにconst&std :: stringを渡すのはいつですか? なぜ文字列ビューだけですか? C ++ 17でconst std :: string&引数を使用する意味はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.