constexpr 對 Lambda 函數的支援
constexpr 對 lambda 函數的支援一直是 C 社群中廣泛討論的話題。儘管根據 [expr.const]/(2.6) 目前在常數表達式中不允許使用 lambda,但工作草案 N4582 中包含的 N4487 建議刪除此限制。
建議的 lambda-相關變更:
範例:
一旦接受N4487,以下範例將有效:
<code class="c++">struct Test { static const int value = []() constexpr { return 0; } (); };</code>
解決方法:
解決方法:<code class="c++">struct Test { template <typename> static const int value = 0; };</code>解決方法:解決方法:解法:解決方法: 作為正式添加constexpr 支援之前的解決方法,您可以使用函數模板而不是lambda:
以上是Lambda 函數可以在 `constexpr` 上下文中使用嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!