首頁 > 後端開發 > C++ > 為什麼 C 語言中靜態關鍵字的棄用被逆轉了?

為什麼 C 語言中靜態關鍵字的棄用被逆轉了?

Linda Hamilton
發布: 2024-11-27 12:31:10
原創
404 人瀏覽過

Why Was the Deprecation of the Static Keyword in C   Reversed?

靜態關鍵字的棄用:重新考慮

在 C 中,翻譯單元中的 static 關鍵字決定符號的可見性。然而,在 n3092 中,它在命名空間範圍內的物件的使用已被棄用,而在 n3225 中,該棄用已被刪除。

奇怪的是,有關此變更的文件是有限的。本文深入探討了背後的原因。

刪除的理由

在C 標準核心語言缺陷報告和已接受問題的修訂版94 中,在1012. 棄用靜態下,它指出:

Although 7.3.1.1 [namespace.unnamed] states that the use of the static keyword for declaring variables in namespace scope is deprecated because the unnamed namespace provides a superior alternative, it is unlikely that the feature will be removed at any point in the foreseeable future.
登入後複製

本質上,靜態的棄用是錯誤的。它提供了一種方便的方法來聲明具有內部連結的函數或對象,而不需要未命名命名空間的樣板程式碼。

遺留問題

一個問題是與 C 的兼容性。但是,將 C 程式編譯為 C可能具有挑戰性,因此這個因素可能沒有發揮重要作用。

結論

消除靜電關鍵字棄用反映出人們認識到它仍然是 C 中的一個有價值的功能。雖然未命名的命名空間提供了一種替代方案,但 static 為聲明具有內部連結的物件或函數提供了簡潔而直接的解決方案。

以上是為什麼 C 語言中靜態關鍵字的棄用被逆轉了?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板