effective C++笔记-2

6:析构函数使用

1.如果一个基类是为了多态用途,那么就应该有一个虚析构函数。

2.如果一个类中有虚函数,那么就应该就有一个虚的析构函数。

3.如果一个基类中不是为了多态的用途,或者不作为基类来使用,那么就不应该生成一个虚析构函数。

在C++库中有string,stl等都是例子

 

7:析构函数异常处理

1.在C++中析构函数绝对不能够出现异常,如果出现异常,要不通过std::abort()函数结束进程,要不忽略此异常。

2.为了防止析构函数出现异常,可以将析构函数里面实现的功能拿到普通函数里面,让外部的用户进行调用函数,让后通过标识符处理标记该动作是否完成。然后

如果未完成则在析构函数里面继续进行操作,作为双保险。

 

posted @ 2016-05-10 15:25  DreamFaquir  阅读(121)  评论(0编辑  收藏  举报