#define _crt_secure_no_warnings
#include using namespace std;
//單例不考慮記憶體洩漏的問題
class a
static a* a;
public:
static a* getinstance() };
a* a::a = null;
//實現單例的步驟
//1、夠哦早函式私有化
//2、增加靜態私有的當前類的指標變數
//3、提供靜態對外介面,可以讓使用者獲得單例物件
//單例 分為 懶漢式 餓漢式 懶漢式執行緒不安全
class singleton_lazy
static singleton_lazy* getinstance()
return psingleton;
} static singleton_lazy* psingleton;
};//類外初始化
singleton_lazy* singleton_lazy::psingleton = null;
//餓漢式 執行緒安全
class singleton_hungry
static singleton_hungry* getinstance()
static singleton_hungry* psingleton;
};singleton_hungry* singleton_hungry::psingleton = new singleton_hungry;
int main()
單例模式 懶漢式 和 餓漢式
單例模式三要素 a 私有構造方法 這樣外界就沒辦法建立物件 b 私有靜態引用指向自己例項 c 以自己例項為返回值的公有靜態方法 對外暴露介面獲取例項 在spring中建立的bean例項預設都是單例模式存在的。所謂 懶漢式 與 餓漢式 的區別,是在與建立單例物件的時間不同。懶漢式 是在你真正用到的時候...
單例模式 餓漢式和懶漢式
1.單例模式。singleton無論外界有多少物件都是乙個指向同乙個位址。節約空間。1 構造方法私有化 2 在本類中建立乙個static修飾的物件。3 所有的屬性必須私有化。4 通過乙個方法來把本類中建立的該物件返回。2.餓漢式 指全域性的單例例項在類裝載時構建。class people publi...
單例模式(餓漢式和懶漢式)
單例模式 餓漢式和懶漢式 餓漢式單例模式,static表變數會在裝載時初始化,不會涉及多個執行緒物件訪問該物件的問題,虛擬機器只會保證裝載一次該類,不會發生併發的問題,可以省略synchronized關鍵字 缺點 如果只是載入本類,而不是呼叫getinstance方法,永遠不呼叫,則會造成資源浪費的...