首頁 >後端開發 >C++ >為什麼 C 和 C 對命名空間範圍「const」物件的處理不同?

為什麼 C 和 C 對命名空間範圍「const」物件的處理不同?

Patricia Arquette
Patricia Arquette原創
2024-12-04 08:53:11446瀏覽

Why Do C   and C Differ in Their Treatment of Namespace-Scope `const` Objects?

C 與C 中與Const 的內部連結

眾所周知,在C 中在命名空間範圍內聲明const 物件會導致內部連結,與C 中觀察到的行為相反。

這種區別背後的基本原理在附錄 C 中進行了解釋C 11 標準(C.1.2 節)。它指出檔案範圍的 const 物件僅限於內部鏈接,即使沒有明確的 extern 聲明也是如此。此變更有兩個目的:

  1. 鼓勵顯式初始化器:透過限製檔案中 const 物件的鏈接,鼓勵程式設計師在聲明期間明確指定初始值。
  2. 頭檔包含:此功能允許將 const 物件放置在跨頭檔包含的頭檔中多個編譯單元。

以上是為什麼 C 和 C 對命名空間範圍「const」物件的處理不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn