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