如果在構造函數中使用new來初始化指針成員,則應在析構函數中使用delete new和delete必須相互相容。new對應於delete,new[]對應於delete[] 如果有多個構造函數,則必須以相同的方式使用new,要麼都帶中括弧,要麼都不帶。因為只有一個析構函數,所有的構造函數都必須與它相容 ...
- 如果在構造函數中使用new來初始化指針成員,則應在析構函數中使用delete
- new和delete必須相互相容。new對應於delete,new[]對應於delete[]
- 如果有多個構造函數,則必須以相同的方式使用new,要麼都帶中括弧,要麼都不帶。因為只有一個析構函數,所有的構造函數都必須與它相容。
- 與上面一條例外的是可以在一個構造函數中使用new初始化指針,而在另一個構造函數中將指針初始化為空,這是因為delete(無論是帶中括弧還是不帶中括弧)可以用於空指針。
- C++傳統上更喜歡用簡單的0,而不是等價的NULL,但C++11的nullptr是更好的選擇。