C 單例模式,餓漢模式和懶漢模式的建立

2021-09-28 14:21:12 字數 1146 閱讀 6254

#include

"pch.h"

#include

using namespace std;

//實現單例步驟:

//1、建構函式私有化。

//2、增加靜態私有當前指標變數

//3、提供靜態對外介面,可以讓使用者獲得單例

class a

public:

//外部訪問唯一途徑

a*getinstace()

//相對於new getinstace是靜態的

private:

static a *a;};

a *a =

null

;//類外進行初始化

//單例分為懶漢式和餓漢式:

//懶漢式

class singleton_lazy

;public:

static singleton_lazy *

getinstance()

//呼叫時才會new出物件。

return psingleton_lazy;

}private:

static singleton_lazy*psingleton_lazy;};

singleton_lazy* singleton_lazy:

:psingleton_lazy =

null

;//初始化置空

//餓漢式

class singleton_hunger

;static singleton_hunger *

getinstance()

*/return psingleton_hunger;

}private:

static singleton_hunger*psingleton_hunger;};

//初始化即建立物件

singleton_hunger* singleton_hunger:

:psingleton_hunger = new singleton_hunger;

intmain()

else

//psingleton_lazy;

std:

:cout <<

"hello world!\n"

;}

單例模式 懶漢模式和餓漢模式

單例模式就是在整個程式中只能有乙個類的例項存在,並提供乙個訪問該例項的全域性訪問點。單例模式的優點 1 由於單例模式只生成乙個例項,較少了系統開銷,當乙個物件的產生的產生需要比較多的資源時,如讀取配置 產生其他依賴物件是,則可以通過在應用啟動時直接產生乙個單例物件,然後永久駐留內容的方式來解決。2 ...

單例模式 餓漢模式和懶漢模式

一 所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項。具體 的實現 1 餓漢模式 提前建立物件 餓漢模式 class bank 內部建立類的物件 此物件也必須建立為靜態的 private static bank instance new bank 提供公共...

單例模式 餓漢和懶漢模式

一 單例模式定義 單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。在計算機系統中,執行緒池 快取 日誌物件 對話方塊 印表機 顯示卡的驅動程式物件常被設計成單例。這些應用都或多或少具有資源管理器的功能。每台計算機可以有若干個印表機,但只能有乙個printer spooler,...