扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:CSDN 来源:CSDN 2007年9月15日
关键字: 软件
#include "SingletonAutoPtr.h" //initial static member vars here ///////////////////////////////////////// CSingletonAutoPtr::~CSingletonAutoPtr() CSingletonAutoPtr* CSingletonAutoPtr::GetInstance() if(m_instance == NULL) //end lock return m_instance; |
} void CSingletonAutoPtr::Test() |
调用方法:
CSingletonAutoPtr* pSingleton = CSingletonAutoPtr::GetInstance(); |
写一个 C++ 中的 Singleton 需要这么费劲,大大出乎我们的意料。有很多人从未用过 auto_ptr,而且 std:auto_ptr 本身就并不完美,它是基于对象所有权机制的,相比之下,Apache Log4cxx 中有一个 auto_ptr, 是基于对象计数的,更为好用。只是为了用一个好的 auto_ptr 而不得不用 log4cxx , 对于很多项目来说,也不太好。当然了,ANSI C++ 的 STL 中 std:auto_ptr 对于写上面的例子已经足够用了。
濡傛灉鎮ㄩ潪甯歌揩鍒囩殑鎯充簡瑙T棰嗗煙鏈€鏂颁骇鍝佷笌鎶€鏈俊鎭紝閭d箞璁㈤槄鑷抽《缃戞妧鏈偖浠跺皢鏄偍鐨勬渶浣抽€斿緞涔嬩竴銆�