在使用new来初始化对象的指针成员时必须特别小心,以下是几点注意事项:
- 如果在构造函数中使用new来初始化指针成员,则应在析构函数中使用delete。
- new和delete必须相互兼容。new对应于delete,new[]对应于delete[]。
- 如果有多个构造函数,则必须以相同的方式使用new,要么都带中括号,要么都不带。因为只有一个析构函数,因此所有的构造函数都必须与它兼容。不过可以在一个构造函数中使用new来初始化指针,而在另外一个构造函数中将指针初始化为空(Null或0),这是因为delete(无论是带中括号还是不带中括号)可以用于空指针。