問題タブ [string-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
816 参照

c++ - constexpr スワップ関数を作成するにはどうすればよいですか?

私は学習目的で独自の String View クラスを作成しており、それを 100% constexpr にしようとしています。

それをテストするために、ハッシュ値を返すメンバー関数があります。次に、switch ステートメントで文字列ビューを作成し、同じメンバー関数を呼び出します。成功した場合、そのメンバー関数はその目的を果たしています。

学ぶために、私は自分の実装を Visual Studio 2017 の最新の更新プログラムと使用/読み取り/比較していますが、としてマークされているにもかかわらず、Visual Studio でも g++ でも機能しないことstd::string_viewに気付きました。swapconstexpr

これは機能しないコードです。

これは、if の Visual Studio 実装です。

これは私のクラスのもので、Visual Studio のものと似ています。

すべてのコンストラクターと代入は、constexpr としてマークされます。

Visual Studio と g++ の両方で同様のエラーが発生します。

スワップが constexpr で機能しない場合、なぜ constexpr を使用するのですか?

0 投票する
2 に答える
922 参照

c++ - パラメータパックを文字列ビューにアンパック

char 型の値テンプレート パラメーター パックを (コンパイル時の) 文字列にアンパックできます。その文字列にa をどのように取得string_viewしますか?

私がしたいこと:

試す:

エラー:

関数で動作を取得する方法はありmainますか?

0 投票する
2 に答える
8137 参照

c++ - constexpr で string_views を連結する

で連結しようとしstring_viewsていconstexprます。以下は、私のコードの簡略版です。

ただし、このコードは期待した結果を生成しません。印刷する代わりに、test1;test2;test1初期test1;test2;化されていないメモリにアクセスしているかのように、ランダムな文字と混合した正しい文字を出力します。

ただし、指定子を削除して上記のコードconstexprに置き換えるstring_viewsstrings、期待される出力が出力されます。

コードに明らかな間違いがないか、constexpr(まだ) 理解できない何かがあります。new のバッファを作成する方法string_viewですか? 他に何ができますか?それとも私がやろうとしていることは不可能ですか?たぶん、私のためにこれに光を当てることができる人がいます.