原创 对于new关键字的一点想法

2007-12-26 11:27 1926 3 3 分类: 软件与OS

今天突然想到构造函数不能返回错误,那么万一在构造函数里面出错了,程序该如何处理。想了一下,其实很简单,只要抛出个异常,在new的时候用try去处理该异常就可以像有返回值的函数一样处理构造函数了。


这么简单的问题竟然今天才想到,想想以前的做法是,在资源使用之前判断其是否可用,这样的效率太低了,狂汗。


不过个人觉得异常这种东西还是太暴力了,尽量不出现为好:)


我觉得以前见过的一种做法很好,就是为每个类编写一个初始化的函数,将所有资源的申请放到那个函数里面去,这样,如果申请失败了,可以返回错误,而不是使用暴力的异常来通知程序。


像symbian里面,它为每个类编写了一个静态的NewL函数,用它来创建一个自身的实例,封装了new创建实例以及初始化的过程,这样,如果初始化失败,也可以返回NULL了。

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /2 下一条