乙個單件模式的模板

2021-05-22 20:48:15 字數 673 閱讀 4627

#如果你不知道什麼是singleton那就可以不用往下看了.先搜搜一下singleton再說,呵呵,免得浪費您的時間.

#如果你是模式愛好者,歡迎提出意見和改進方案.

#從乙個工程中摘出來的,做了一些小修改。

#ifndef _***_singleton_h_

#define _***_singleton_h_

#ifndef null

#define null  0

#endif

template

class singleton

return &singleton_->instance_; }

protected:

singleton();

t instance_;

static singleton*singleton_;

}; template

singleton*singleton::singleton_ = null;

template

singleton::singleton()

#endif

建議大家還是不要濫用單件。這個模式是最容易被濫用的。一般情況下可以用做讀配置等需要全域性訪問之用。

另外就是,多執行緒切記不要用單件。。除非你加鎖,但為了用單件模式加鎖,不覺得很傻麼?

一 單件模式

什麼是單件模式?簡單的說就是 單件模式即乙個類在整個程式執行過程中只能有乙個例項 唯一物件 由它自身負責儲存它的唯一例項,這個類可以保證沒有其他例項可以被建立 截斷建立新物件的請求 並且它可以提供乙個全域性訪問點 例如instance 什麼情況下需要使用單件模式?1 對於乙個類 物件 如果它比較大 ...

乙個模板單例的實現

以前看過高手寫的單例實現,也是利用繼承模板基類來實現,最近正要用到單例模式,卻苦於找不到以前高手的 於是就自己動手實現,如下 templateclass singletion virtual singletion static t pobject 利用此類析構函式釋放單例例項記憶體 class cc...

設計模式學習(一) 單件模式

在程式中,有很多類是需要確保有且僅有乙個例項的,這樣才能保證它的正確性和高效性。例如乙個系統只能有乙個視窗管理器或者是列印的後台處理程式。使得乙個類只有乙個例項的最容易方法就是在類中包含乙個靜態變數,在變數在第乙個例項生成時被初始化,然後每次進入建構函式時就做檢查,如果此變數還不存在,那麼就返回乙個...