第三篇:確保物件在被使用前的初始化

穆晨發表於2017-01-27

前言

       某個物件若不被初始化,意味著它的執行很有可能導致不確定的結果,這是我們的程式碼所要堅決避免的情況。

       本文將講解 C++ 程式碼中關於物件初始化的方方面面。

成員變數的初始化

       當我們構造一個物件的時候 (不含初始化列表),在進入建構函式之前,其實所有成員變數已經被其所屬型別的預設建構函式給初始化了,內建型別則不做任何處理。

       因此,如果你想在建構函式裡初始化成員變數,這可未必是個好主意。更好的方法應當是在建構函式的成員初始化列表裡對成員變數進行初始化,這樣可以避免重複的初始化工作。但請記得在列表中對所有,所有的成員都進行初始化。同時請保證初始化順序和成員變數宣告順序的一致,這是個好習慣。

       至於 const 或者 引用型別的成員變數,就更不用說了 - 必須用初始化列表的方式初始化,沒得選。

       關於成員初始化列表的使用細則,請自行查閱有關 C++ 書籍。

小結

       以正確的方式對物件進行初始化對程式的執行效率,資源節省大有裨益。

相關文章