设计模式(五)——单例模式
定义:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 单例模式:如Windows的任务管理器 三个要点: Singleton(单例):在单例类的内部实现只生成一个实例,同时它提供一个静态的getInstance()工厂方法, 单例模式的使用步骤: 优点: ? 适用场景 ? #include <iostream> using namespace std; class Singleton { public: // 全局变量方法 static Singleton * get_insatnce() { return instance; } private: // 不让类的外部再创建实例 声明为private Singleton() { } static Singleton* instance;// 指向本例的唯一实例指针 }; // 饿汉式——在编译期间就已经确认了这个唯一的实例 Singleton* Singleton::instance = new Singleton; // 属于类的内部 class Singleton2 { public: static Singleton2* get_instance() { if (instance == NULL) { instance = new Singleton2; } return instance; } private: Singleton2() { } static Singleton2* instance; }; // 懒汉式 遇到多线程的时候要注意加锁机制 Singleton2* Singleton2::instance = NULL; int main() { Singleton* s1 = Singleton::get_insatnce(); system("pause"); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- MDT部署:为什么禁用更改Windows更新设置等
- windows-server-2008-r2 – 使用WDS将同一图像部署到具有不
- 无法加载文件或程序集“Microsoft.WindowsAzure.Storage”或
- windows-server-2008 – 如何为每个用户创建一个只能访问用
- 最新windows10专业版企业版密钥永久激活步骤和方法
- \r与\n的区别:
- windows-7 – Windows 7无人值守安装
- windows-server-2008 – Windows Server 2008 – Windows S
- windows – 是否可以使用start从cmd文件中使用输出重定向?
- windows-8 – 在MetroStyle应用程序中使用COM对象