c++单例模式

2017-06-06

以前面试的时候让写一个单例模式的类对象,怎么看都不明白,怎么学都不明白。只好死记硬背一些单例的例子。今天突然发现,他妈的在前面加一个static 就是最简单的单例了。对之前的智商感到担忧 。

下面我来说一下最简单的单例:

#include "标头1.h"
Configer::Configer(){
	opention A;
}
const Configer & Configer::getConfig(){
	static Configer Conf;
	return Conf;
}
Configer::~Configer(){

}

  

class Configer{
public:
	Configer();
	static Configer & getConfig();
	~Congiger();
};

以上是领悟到的单例模式,尽管不是安全的,网上查了一下:这种和叫饿汉式单例的差不多,就是缺少线程安全锁。

想要产生单例对象时直接调用getConfig()方法就得到了。

如果想要线程安全的单例。则在产生类对象的前后加锁即可:

const Configer & Configer::getConfig(){
    pthread_mutex_lock(&mutex);
    static Configer Conf;
    pthread_mutex_unlock(&mutex);
    return Conf;
}

 

posted @ 2017-06-06 14:09  first_semon  阅读(132)  评论(0编辑  收藏  举报