Consteval 函數和模板參數都依賴函數參數
在C 17 中,模板參數不能依賴函數參數,因為編譯器仍然是函數需要為非constexpr 函數產生執行時間指令,即使它們是在編譯時求值的。
C 20 Consteval 函數
C 20 引入了 consteval 函數,它必須在編譯時評估,消除運行時約束。然而,問題仍然存在:這是否意味著模板參數現在可以依賴函數參數?
不允許依賴模板參數
儘管引入了 consteval 函數,答案是否定的。該論文承認參數不應被視為核心常數表達式。這是由於潛在的類型差異造成的,如論文中的範例所示:
因此,函數參數永遠不會被視為常數表達式,從而防止範本參數依賴它們。
以上是模板參數可以依賴 C 20 Consteval 函數中的函數參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!