zoukankan      html  css  js  c++  java
  • 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
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
  • 相关阅读:
    Core Java 5
    pyDay11
    c++第二十一天
    pyDay10
    c++第二十天
    RadioButton控件
    ListBox控件
    Image控件
    FileUpload控件
    DropDownList控件
  • 原文地址:https://www.cnblogs.com/first-semon/p/6951262.html
Copyright © 2011-2022 走看看