2.4 重载和C++

2013-10-07 15:27:12 · 作者: · 浏览: 69

2.4 重载和C++(www.cppentry.com)

如果你需要重载构造函数,该怎么办呢?答案很简单:重载getInstance方法。

C++(www.cppentry.com)程序员来说,你应该注意到这里有很严重的内存泄露问题(如果你不是C++(www.cppentry.com)程序员,请略过本段落)。为了解决这个问题,必须添加一个相应的静态releaseInstance()方法,用于对象的delete。提供releaseInstance方法的对象必须有一个指针指向被释放的对象,并对它调用delete。

然而,你或许还会发现,由于屏蔽了对象的创建和销毁,用getInstance()和releaseInstance()方法来控制对象的构造和消除,可以使性能得到提升。例如,你可以将一个常规对象转化成单例对象,而这一改动对使用对象的客户端来说是透明的(可以改动getInstance()方法来创建单例对象,然后让releaseInstance()方法什么也别做)。