Lambda 関数の constexpr サポート
lambda 関数の constexpr サポートは、C コミュニティで広く議論されているトピックです。 [expr.const]/(2.6) に従って定数式ではラムダは現在許可されていませんが、作業草案 N4582 に含まれている N4487 では、この制限を削除することが提案されています。
提案されたラムダ-関連する変更:
例:
次の例は、N4487 が受け入れられると有効になります:
<code class="c++">struct Test { static const int value = []() constexpr { return 0; } (); };</code>
回避策:
constexpr サポートが正式に追加される前の回避策として、以下を使用できます。ラムダの代わりに関数テンプレート:
<code class="c++">struct Test { template <typename> static const int value = 0; };</code>
以上がLambda 関数は「constexpr」コンテキストで使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。