構造函數中初始化技術的深入分析
考慮以下程式碼:
MyClass::MyClass() : _capacity(15), _data(NULL), _len(0) {}
與:
MyClass::MyClass() { _capacity = 15; _data = NULL; _len = 0; }
重要的是請注意,選擇使用初始化清單還是在建構函式中賦值取決於成員初始化的特定要求。
成員初始化列表
使用初始化列表在構造時初始化當前物件的所有成員。通常建議用於以下幾個場景:
在提供的範例中,_capacity、_data 和 _len 不是常數成員或引用,這兩種方法都是有效的,並且將產生等效的內部產生的程式碼。但是,如果這些成員中的任何一個是常數或引用,則需要初始化清單。
常規賦值與初始化列表
構造函數中的常規賦值通常被認為對於非常量成員變數是可以接受的,它們有一些缺點:
結論
建議使用初始化列表來初始化常數成員、引用和將參數傳遞給基類構造函數。對於常規成員變量,常規賦值語句可能更合適,但初始化列表仍然提供了更簡潔準確的方法。
以上是初始化列表與建構函數中的賦值:什麼時候應該使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!