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
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
  • 相关阅读:
    ●sql语句-添加表和字段的说明
    ●sql-行列转换
    ●获取汉字全拼
    ●获取汉字首拼
    ●导出excel(NPOI)
    ●导出excel(office组件)
    JQuery
    CSS网页美化设计属性
    表单 框架集及CCS 20140916
    常见标签的属性及使用 20140915
  • 原文地址:https://www.cnblogs.com/first-semon/p/6951262.html
Copyright © 2011-2022 走看看