• 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;
    }
    作者:first_semon
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
  • 相关阅读:
    go 代理
    mongo创建用户
    博客搬家&留言板
    noip2020 SD选手迷惑行为大赏
    noip2020游记
    P4174 [NOI2006] 最大获利
    P3327 [SDOI2015]约数个数和
    P5069 [Ynoi2015]纵使日薄西山
    P3747 相逢是问候
    HDE6315 Naive Operations
  • 原文地址:https://www.cnblogs.com/first-semon/p/6951262.html
Copyright © 2020-2023  润新知