在使用new來初始化對象的指針成員時必須特別小心,以下是幾點注意事項:
- 如果在構(gòu)造函數(shù)中使用new來初始化指針成員,則應(yīng)在析構(gòu)函數(shù)中使用delete。
- new和delete必須相互兼容。new對應(yīng)于delete,new[]對應(yīng)于delete[]。
- 如果有多個構(gòu)造函數(shù),則必須以相同的方式使用new,要么都帶中括號,要么都不帶。因為只有一個析構(gòu)函數(shù),因此所有的構(gòu)造函數(shù)都必須與它兼容。不過可以在一個構(gòu)造函數(shù)中使用new來初始化指針,而在另外一個構(gòu)造函數(shù)中將指針初始化為空(Null或0),這是因為delete(無論是帶中括號還是不帶中括號)可以用于空指針。