靜態關鍵字的棄用:一個有趣的舉動
在C 中,static 關鍵字長期以來一直在翻譯單元中使用來控制符號可見性。然而,在 n3092 中,不建議使用它在命名空間範圍內聲明對象,這一決定在 n3225 中明顯逆轉。
更改的原因
標準核心語言缺陷報告和已接受的問題提供了對這種逆轉的一些見解。在修訂版 94 中,在「Undeprecating Static」問題下,委員會承認 static 關鍵字的棄用與其在 C 中持續的重要性不相符。
保留的理由
保留static關鍵字的首要原因是它的實用性和效率。與未命名的命名空間不同,靜態聲明允許創建具有內部連結的函數或對象,而不需要額外的樣板程式碼。這種簡單性在程式碼只需要內部可見性的情況下特別有價值。
相容性的影響
static 關鍵字的棄用引發了對與 C 的兼容性的擔憂,因為它允許將 C 程式編譯為 C 。雖然有些人認為這種做法可能令人沮喪,但委員會意識到它仍然是該語言的有效使用。
結論
靜態關鍵字棄用的逆轉強調了這一點它持久的實用性以及它在 C 中具有獨特用途的認識。它提供了一種方便的機制來聲明具有內部連結的物件和函數,而無需與未命名名稱空間相關的複雜性。
以上是為什麼 C 在棄用 static 關鍵字後仍保留它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!