靜態資料成員,例如提供程式碼中的變數“i”,在初始化期間需要特殊處理。了解初始化器(分配值)和定義(聲明變數存在)之間的差異非常重要。
在程式碼範例中,靜態資料成員「i」在類別定義之外初始化。這是一項要求,因為定義必須為變數提供記憶體中的位址,而該位址無法在類別定義本身內確定。
另一方面,初始化程序只是將值指派給變數而不指定其值位址。這允許一種簡潔的方法在一個地方設定初始值,避免需要在建構函數中重複它。
非靜態資料成員,如「normalValue」 」 在範例中,存在於類別的實例中。它們的位址取決於它們所屬的實例。因此,非靜態資料成員定義是在建立實例時建立的。唯一的位址,連結器需要為每個靜態資料成員精確定義一個定義。以外的定義
以上是我們如何以及為什麼在類別定義之外初始化靜態資料成員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!