C 中的Static 關鍵字:不再棄用
在C 標準的演變中,翻譯中static 關鍵字的使用單位發生重大變化。使用 static 在命名空間範圍內聲明物件最初在 n3092 中被棄用,後來在 n3225 中刪除,引發了混亂和爭論。
刪除的理由
主要原因最初的棄用是引入未命名的名稱空間,它提供了一種更清晰、更明確的方式來聲明具有內部連結的對象。未命名命名空間具有多種優點,包括更輕鬆地管理全域變數和避免潛在的名稱衝突。
棄用的逆轉
但是,在C 標準的後續修訂版中核心語言缺陷報告和已接受的問題(修訂版94),第1012 期,標題為“Undeprecating static”,解決了完全刪除對static 關鍵字的支援的不切實際問題。
當前狀態
儘管 static 已被棄用,但它仍然是 C 中有效且有用的構造。它提供了一種簡潔有效的方法來聲明具有內部連結的對象,特別是在使用未命名命名空間會導致不必要的樣板程式碼的情況下。
何時使用靜態
靜態命名空間和無名命名空間的選擇取決於程式碼的特定要求。當未保證未命名命名空間增加的複雜性時,仍建議使用靜態來聲明具有內部連結的函數或物件。
以上是C 中的「static」關鍵字真的被棄用了嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!