成員初始化器清單評估順序
使用初始化類別成員的建構子時,了解這些初始化發生的順序至關重要。讓我們探討一個未遵循預期初始化順序而導致意外行為的場景。
在提供的程式碼中,使用成員變數 a_ 和 b_ 定義了類別 A。建構函式使用參數來初始化兩個成員。程式設計師假設成員將按列出的順序初始化:首先是 a_,然後是 b_。然而,在特定實例中,觀察到 b_ 在 a_ 之前初始化,導致在初始化之前引用 a_ 時中止。
為了確保初始化的正確順序,必須知道順序是由類別定義中的資料成員聲明決定。在上面的範例中,a_ 在類別中首先聲明,然後是 b_。因此,無論成員初始化器清單中的順序為何,a_總是會在b_之前被初始化,解決了程式設計師遇到的問題。
以上是為什麼 C 建構函式中的成員初始化順序與初始化器列表順序不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!