第二版
当编写的程序出现异常时,我们总会问:“当异常出现时,这能被合理地清除掉吗?”这是十分重要的。对于大多数情况,程序是相当安全的;但是如果构造函数中出现异常,这将产生问题:如果异常抛出发生在构造函数创建对象时,对象的析构函数将无法调用其相应的对象。这意味着在编写构造函数的程序时必须十分谨慎。
构造函数进行存储资源分配时存在普遍的困难。如果构造函数在运行时有异常抛出,析构函数将无法收回这些存储资源。这些问题大多数发生在未加保护的指针上。想要了解更多关于默认构造函数指针悬挂的问题,可以参考这篇文章。如果你对Java异常处理中的空指针异常感兴趣,可以阅读这篇文章。拷贝构造函数导致指针挂起的研究也提供了深刻的见解。
下载地址
用户评论