首頁 > 後端開發 > C++ > 主體

C中的全域變數初始化可以忽略依賴關係嗎?

Patricia Arquette
發布: 2024-10-28 06:48:02
原創
354 人瀏覽過

Can Global Variable Initialization in C   Ignore Dependencies?

C 中的全域初始化順序:忽略依賴關係

問題:

問題:

問題:

在程式碼片段中前提是,全域變數初始化的順序似乎忽略了依賴性。具體來說,在聲明結構體實例之前呼叫結構體的建構子。

  • 答:
1。全域變數的初始化順序:

單一翻譯單元(來源檔案)中的全域變數依照它們定義的順序進行初始化。

但是,初始化順序不同翻譯單元中全域變數的數量未指定。

2.初始化時忽略依賴關係:

    是的,全域變數的初始化順序忽略了依賴關係。這意味著一個全域變數可以在它所依賴的另一個全域變數之前被初始化。
  • 3.確保正確的初始化順序:
  • 為了確保在初始化dummy 之前調用Foo 的構造函數,可以採取以下步驟:
在同一個檔案中,在dummy 之前定義globalFoo翻譯單元。 使用指向全域實例的靜態指標。在任何動態初始化發生之前,指標將被初始化為 null。 在 addToGlobal 中,檢查指標是否為 null。如果是,則 addToGlobal 會建立全域 Foo 實例。

以上是C中的全域變數初始化可以忽略依賴關係嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!