标签:使用 程序 style iostream 技术分享 lap include 不能 cdb
单例模式是一种开发模式。他在整个程序运行过程中,只能创建一个类,且提供一个函数接口。
这种思想就要求我们不能使用构造函数构造这个类,也不能使用拷贝函数拷贝这个类。
单例模式在开发过程中,是借助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 }
标签:使用 程序 style iostream 技术分享 lap include 不能 cdb
原文地址:http://www.cnblogs.com/mingdimowang-lyw/p/6661274.html