扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:CSDN 来源:CSDN 2007年9月15日
关键字: 软件
class CSingletonStaticObj 对应的 SingleStaticObj.cpp 文件为: #include "SingletonStaticObj.h" |
using namespace std; CSingletonStaticObj CSingletonStaticObj::m_instance; CSingletonStaticObj::CSingletonStaticObj() CSingletonStaticObj::~CSingletonStaticObj() CSingletonStaticObj& CSingletonStaticObj::GetInstance() void CSingletonStaticObj::Test() |
调用方法:
CSingletonStaticObj& singleton = CSingletonAutoPtr::GetInstance(); |
从代码量来说,似乎使用 static member ref 更为简单。我更偏向于用这种方法。
但是,并不是所有情况下面都适合用 static member singleton。比如说,GetInstance 需要动态决定返回不同的 instance 的时候,就不能用。举例来说,FileSystem::GetInstance, 在 windows 下面运行可能需要返回 new WinFileSystem, Linux/Unix 下面运行可能需要返回 new LinuxFileSystem,这个时候还是需要用上面的 auto_ptr 包含 singleton 指针的方法。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者