Item 6: 记得在destructor中以delete对付pointer members

来源:互联网 发布:数据泄密防护系统 编辑:程序博客网 时间:2024/05/24 04:05

1。对于在类的ctors或者member functions中new的资源,记得要在dtor中释放该资源,否则会造成memory leak。一般情况下,也绝对不要轻易地delete一个并不由你new的的对象。

 

2。在每一个ctor以及assignment中都要对pointer member做好相应的初始化工作。要么初始化好,要么设成空指针NULL。

 

3。试图访问一个NULL指针(p->f())会crash你的程序,但是删除一个NULL指针是安全的。如果能保证程序运行中指针始终要么是NULL要么指向有效内存,那么dtor中可以直接将它删除,不需要关心它是否使用过new。