初始化清單與建構函式分配:內部和程式碼差異
在給定的C 程式碼中,有一個關於使用成員初始值設定項列表並在建構函數中賦值。
成員初始值設定項List
成員初始值設定項列表,括在構造函數名稱後面的括號中,用於初始化:
建構子賦值
建構子賦值,另一方面,以於初始化非常量成員並將值指派給非引用變數。
內部差異
在內部,兩種方法產生的程式碼略有不同。使用成員初始值設定項目清單時,編譯器在建構期間將成員值直接放入類別物件中。這可以避免額外的賦值操作。
程式碼差異
比較給定的程式碼片段:
兩個片段都會初始化三個具有指定值的片段私有成員_capacity、_data 和_len。但是,第一個代碼段使用成員初始值設定項列表,而第二個代碼段使用建構函數分配。
何時使用成員初始值設定項目清單
必須使用初始化清單:
對於標準初始化(非常成員、非引用),可以使用任一方法。一般來說,出於效率原因,成員初始值設定項清單是首選。
以上是成員初始化列表與建構函數分配:什麼時候應該使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!