原始問題:
有狀態元編程,使用以下技術constexpr 計數器,允許在元編程中進行狀態操作。雖然在 C 14 下是合法的,但人們對其與語言語義的一致性提出了擔憂。
問題:
有狀態元程式設計的狀態在 C 17 中是否發生了變化?
CWG 活躍問題 2118:
C 標準委員會已認識到這是一個潛在問題,並將其指定為 CWG 活躍問題 2118。令人擔憂的是,在模板中使用友元函數捕獲和檢索元編程狀態是晦澀難懂的,應該被聲明為格式錯誤。
C 17 中的解決方案:
截至 2015 年 5 月 CWG 會議,此問題仍有未解決。雖然委員會一致認為此類技術應該是格式錯誤的,但禁止它們的機制尚未確定。
當前意義:
有狀態元程式設計技術在技術上仍然存在在 C 17 中是合法的。但是,當最終實現禁止機制時,可能會追溯性地使這些技術成為不合格代碼。
以上是有狀態元編程在 C 17 中仍然合法嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!