C 單例模式

2021-09-08 19:33:40 字數 659 閱讀 2043

單例模式:

該類只生成乙個物件,該類返回乙個引用或指標(永遠是指向唯一的物件),定義乙個靜態的方法來得到該類的唯一物件。

(遮蔽建構函式,類中提供乙個介面生成物件,不能依賴物件呼叫,不能返回類型別。)

第一種,懶漢模式 /延時載入。物件存放在堆區,執行時生成物件(注意執行緒安全問題)

class singleton

//unlock();

} return psingle;

}private:

singleton(){}

singleton(const singleton&);

static singleton* psingle;

};singleton* singleton::psingle = null;

第二種,餓漢模式 /貪婪載入。 物件存放在靜態區,初始化時生成

class singleton

private:

singleton(){}

singleton(const singleton& ){}

static singleton* single;

};singleton singleton:: single = new singleton();

C 單例模式

include using namespace std 單例類的c 實現 class singleton 構造方法實現 singleton singleton void singleton setvar int var main int main int argc,char argv return ...

C 單例模式

實現方式一 include template typename t class singleton boost noncopyable static void init private static pthread once t ponce statict value template typena...

C 單例模式

效率有點低,但是還算安全的單例模式,靜態成員實現方式 class singleton public static singleton getinstance singleton singleton getinstance unlock return m instance 內部靜態例項的懶漢模式,c ...