c_cpp c ++中的单例实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp c ++中的单例实现相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <string>
using namespace std;

class singleton {
private:
	static singleton* instance;
	singleton() {}
	singleton(const singleton &c) {}
	singleton& operator=(const singleton &c) {}
public:
	static singleton* getInstance() {
		if(instance == NULL) {
			instance = new singleton;
		}
		return instance;
	}
	void print_info() {
		cout << "created!\n";
	}
	/*  // a thread-safe way called DCLP  
		singleton* getInstance_DCLP() {
		if(instance == NULL) {
		Lock lock;
		if(instance == NULL)
		instance = new singleton;
		}
		return instance;
		}
	 */    
};

singleton* singleton::instance = NULL;   

int main()
{
singleton::getInstance()->print_info();
return 0;
}

以上是关于c_cpp c ++中的单例实现的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D中的单例模式

c_cpp C ++中的队列数组实现

c_cpp C ++中的链表实现

c_cpp c中的快速哈希表实现。

c_cpp 队列 - C ++中的链接列表实现

c_cpp Stack - C ++中的数组实现