餓漢版 C 單例模式

2021-07-28 10:22:09 字數 701 閱讀 3793

#pragma once

/////餓漢版單例模式

class csinginstance

;//建構函式設為私有,防止多次例項化,保證單例模式只有乙個例項

private:

csinginstance(){};

public:

//保證結束程式,物件釋放時釋放記憶體。儘管程式結束系統會自動釋放記憶體,但是誰建立誰釋放,是c++攻城獅應有的基本素養。

class deleteobj

;~deleteobj()

};};

public:

deleteobj obj;

static csinginstance *m_psinginstance;

static csinginstance *getsinginstance()

}; /*建立例項,靜態物件可以呼叫私有建構函式,因為靜態物件儲存在靜態儲存區,

靜態成員變數他並不是物件的乙個屬性而是類的乙個屬性,你可以把他想成是一種全域性的變數,

即使你建n個物件,對這些變數內的成員做處理,靜態成員變數也不會因為其中任何乙個物件的改變而變,

也不會因為任何乙個物件的釋放而銷毀,靜態資料成員的初始化必須在類外,然後初始化是程式一開始就進行的。

*/csinginstance *csinginstance::m_psinginstance=new csinginstance;

單例模式 餓漢模式

package singleton import sso.singlepattern 1.應用場景 有些物件只需要乙個例項,像老婆 2.作用 保證整個應用程式中某個例項只有乙個 3.型別 餓漢模式,懶漢模式 此例為餓漢模式,因為instance是static修飾,當類載入的時候就會被例項化,就像餓漢...

單例模式 餓漢模式

一.單例模式的應用場景 1.資源共享的情況下,避免由於資源操作造成的效能損耗,比如配置檔案的載入 2.控制資源的情況下,方便資源之間的通訊,比如資料庫連線池,執行緒池 二.基本模組 public class myobject public static myobject getinstance 測試...

懶漢餓漢單例模式

懶漢式單例類,在第一次呼叫時的時候例項化自己 public class singleton private static singleton single null 靜態工廠方法 public static singleton getinstance return single 執行緒安全的懶漢式單...