首页 > 代码库 > 单例模式
单例模式
单例模式是一种开发模式。他在整个程序运行过程中,只能创建一个类,且提供一个函数接口。
这种思想就要求我们不能使用构造函数构造这个类,也不能使用拷贝函数拷贝这个类。
单例模式在开发过程中,是借助static 成员进行完成的。
单例模式
1 #include <iostream> 2 #include <memory> 3 using namespace std; 4 5 6 7 class Singleton 8 { 9 public: 10 static auto_ptr<Singleton> Getinstance() 11 { 12 if (instance_.get() == NULL) 13 instance_ = auto_ptr<Singleton>(new Singleton); 14 return instance_; 15 } 16 ~Singleton() 17 { 18 cout << "~Singleton ..." << endl; 19 } 20 private: 21 Singleton() 22 { 23 cout << "Singleton ..." << endl; 24 } 25 Singleton(const Singleton & other); 26 Singleton& operator=(const Singleton &other); 27 static auto_ptr<Singleton> instance_; 28 }; 29 30 auto_ptr<Singleton> Singleton::instance_; 31 32 int main() 33 { 34 auto_ptr<Singleton> p1 = Singleton::Getinstance(); 35 }
单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。