有狀態元程式設計:C 中格式錯誤的威脅
有狀態元程式設計的神秘概念(以「constexpr 計數器」為例)已經令C 程式設計師既好奇又困惑。雖然它在 C 14 中似乎是允許的,但它在 C 17 中的狀態仍然不確定。
神秘的 Constexpr 計數器
正如帖子中所述,constexpr 計數器利用了 ADL捕獲和檢索狀態資訊的機制。透過在模板中定義友元函數並稍後引用它,它可以儲存元編程狀態。
矛盾和爭議
這種技術直接與先前的儲存指南相矛盾元程式設計中的狀態。它引發了有關此類神秘構造的有效性的問題。
CWG 的活躍問題
C 工作小組 (CWG) 已認識到此問題(CWG 活躍問題 2118)。他們一致認為這些技術應該是格式錯誤的,但禁止它們的機制尚未確定。
對C 17 的影響
雖然CWG 尚未明確聲明由於有狀態元程式設計格式不正確,因此很可能透過缺陷報告(DR) 追溯應用此類禁令。在此之前,它在 C 14 下的合法性及其在未來 C 標準中的地位仍不確定。
結論
有狀態元程式設計雖然有趣,但卻是對一致性的潛在威脅C 元程式設計的可靠性。 CWG 對不良形成機制的積極追求強調了在使用這些先進技術時需要謹慎。隨著 C 的發展,我們可以期待這個問題的解決,這將闡明有狀態元程式設計在程式設計領域中的作用。
以上是有狀態元程式設計對 C 一致性有威脅嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!