网站建设资讯

NEWS

网站建设资讯

c++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)

    

创新互联是一家成都做网站、网站制作,提供网页设计,网站设计,网站制作,建网站,按需设计,网站开发公司,从2013年开始是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

关于C++单例模式下m_pinstance指向空间销毁问题,m_pInstance的手动销毁经常是一个头痛的问题,内存和资源泄露也是屡见不鲜,能否有一个方法,让实例自动释放。

解决方法就是定义一个内部垃圾回收类,并且在Singleton中定义一个此类的静态成员。程序结束时,系统会自动析构此静态成员,此时,在此类的析构函数中析构Singleton实例,就可以实现m_pInstance的自动释放。

附上测试代码

c++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)

 1 #include  2 using namespace std; 3  4 class Singleton 5 { 6 public: 7     static Singleton *GetInstance() 8     { 9         if (m_Instance == NULL)10         {11             m_Instance = new Singleton();12             cout<<"get Singleton instance success"<

c++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)


运行结果:

c++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)

 


分享标题:c++设计模式之单例模式下的实例自动销毁(垃圾自动回收器)
文章链接:http://njwzjz.com/article/pejhhc.html