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

    用最简单的语言最简短的代码解释单例模式(Singleton)
    GOF的《设计模式》中这样描述:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    Singleton.h文件

     1 #pragma once
     2 /*
     3 C++单例
     4 */
     5 class CSingleton
     6 {
     7 public:
     8     static CSingleton* GetInstance();
     9     double GetValue();
    10 private:
    11     CSingleton(void);
    12     ~CSingleton(void);
    13     static CSingleton* m_pSingleton;
    14 };
    View Code
     1 #include "StdAfx.h"
     2 #include "Singleton.h"
     3 
     4 CSingleton* CSingleton::m_pSingleton = NULL;
     5 
     6 CSingleton::CSingleton(void)
     7 {
     8 
     9 }
    10 
    11 CSingleton::~CSingleton(void)
    12 {
    13 }
    14 
    15 CSingleton* CSingleton::GetInstance()
    16 {
    17     if(NULL == m_pSingleton)
    18     {
    19         m_pSingleton = new CSingleton();
    20     }
    21     return m_pSingleton;
    22 }
    23 
    24 double CSingleton::GetValue()
    25 {
    26     return 9.0;
    27 }
    View Code
    1 void CLoadDllDemoDlg::OnBnClickedButton21()
    2 {//单例
    3 
    4     CSingleton* pNew = CSingleton::GetInstance();
    5     double dVal = pNew->GetValue();
    6 }
  • 相关阅读:
    看见一个希腊字母表
    剑桥的技术报告列表
    CompaqDEC的技术报告
    linux动态链接库的使用
    Vectored I/O or ScatterGather I/O
    week reference
    Cache pingpong
    [zz] References on Mutual Excuslion
    redis: event loop
    看WinForm源代码的笔记
  • 原文地址:https://www.cnblogs.com/lpxblog/p/4720267.html
Copyright © 2011-2022 走看看