zoukankan      html  css  js  c++  java
  • C++单例模式

    应该有好多小伙伴会遇到对象频繁创建与销毁,或者是多个类共用一个类的时候怎么解决,今天就给大家好好讲讲单例模式

    1、既然是单例模式那就只能存在一个对象

    2、头文件

    class Singleton{
    public:
    	static Singleton* getInstance();
    
    private:
    	Singleton();
    	//把复制构造函数和=操作符也设为私有,防止被复制
    	Singleton(const Singleton&);
    	Singleton& operator=(const Singleton&);
    
    	static Singleton* instance;
    };
    

    3、源文件

    #include "Singleton.h"
    //因为是static成员变量,需要在这里初始化
    Singleton* Singleton::instance = NULL;
    
    Singleton::Singleton(){
    
    }
    
    
    Singleton::Singleton(const Singleton&){
    
    }
    
    
    Singleton& Singleton::operator=(const Singleton&){
    
    }
    
    
    //在此处初始化
    Singleton* Singleton::getInstance(){
           if(instance == NULL)
    
           {
                instance = new Singleton();
           }
            return instance;
    }
    

      

    4、使用方法

    int main(int argc, char *argv[])
    {
       Singleton* singleton1 = Singleton::getInstance();
      //下面就可以用这个类里面的变量或者方法等
        Singleton* singleton2 = Singleton::getInstance();
    
    
       //singleton1和singleton2两个类指针对象共享同一份成员变量等
       return 0; 
    }
    

      

  • 相关阅读:
    G1(Garbage First)
    优化老年代参数的分析思路
    优化年轻代参数的分析思路
    频繁发生fullgc的原因和定位思路
    什么时候会触发老年代gc
    老年代回收器cms
    SQL的优化技巧
    常用前端性能优化
    刷新的方式
    遇到的一些坑
  • 原文地址:https://www.cnblogs.com/xupeidong/p/9448058.html
Copyright © 2011-2022 走看看