扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:荣耀编译 来源:aspcool 2007年11月14日
关键字:
class Singleton { private static Singleton singleton = null; public static Singleton Instance() { if (null == singleton) singleton = new Singleton(); return singleton; } private Singleton() { } } |
using System; class Singleton { private static Singleton singleton = null; public static Singleton Instance() { if (null == singleton) singleton = new Singleton(); return singleton; } private Singleton() { } } class Application { public static void Main() { Singleton s1 = Singleton.Instance(); //Singleton s2 = new Singleton(); //错误:构造器不可访问 Singleton s2 = Singleton.Instance(); if (s1.Equals(s2)) // 引用相等 Console.WriteLine("Instances are identical"); } } /*以下是程序输出结果: Instances are identical */ |
#include "stdafx.h"; #include class Singleton { public: static Singleton* Instance() { if (NULL == singleton) singleton = new Singleton(); return singleton; }; private: Singleton() { }; private: static Singleton* singleton; }; Singleton* Singleton::singleton = NULL; int _tmain(int argc, _TCHAR* argv[]) { Singleton* sgt1 = Singleton::Instance(); Singleton* sgt2 = Singleton::Instance(); if(sgt1 == sgt2) cout<<"Instances are identical\n"; delete sgt1;//【译注:这个简单的例子里,是不存在内存泄漏或棘手的生命期管理问题的J】 return 0; } /*以下是程序输出结果: Instances are identical */ 】 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者