首頁 > 後端開發 > C++ > 主體

模板參數可以依賴 C 20 Consteval 函數中的函數參數嗎?

DDD
發布: 2024-10-23 20:37:30
原創
159 人瀏覽過

Can Template Parameters Depend on Function Arguments in C  20 Consteval Functions?

Consteval 函數和模板參數都依賴函數參數

在C 17 中,模板參數不能依賴函數參數,因為編譯器仍然是函數需要為非constexpr 函數產生執行時間指令,即使它們是在編譯時求值的。

C 20 Consteval 函數

C 20 引入了 consteval 函數,它必須在編譯時評估,消除運行時約束。然而,問題仍然存在:這是否意味著模板參數現在可以依賴函數參數?

不允許依賴模板參數

儘管引入了 consteval 函數,答案是否定的。該論文承認參數不應被視為核心常數表達式。這是由於潛在的類型差異造成的,如論文中的範例所示:

因此,函數參數永遠不會被視為常數表達式,從而防止範本參數依賴它們。

以上是模板參數可以依賴 C 20 Consteval 函數中的函數參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!