設計模式C 實現十七 單例模式

2021-07-02 15:48:54 字數 786 閱讀 9048

學習單例模式的之前,我們必須要了解static的相關用法。我通過查閱相關資料和部落格,有下面乙個總結文章。

單例模式(singleton):保證乙個類僅有乙個例項,並且提供乙個訪問它的全域性訪問點。

通常我們可以讓乙個全域性變數使得乙個物件被訪問,但它不能防止你例項化多個物件。乙個最好的辦法就是,讓類自身負責儲存它的唯一例項。這個類可以保證沒有其他例項可以被建立,並且它可以提供乙個訪問該例項的方法。.

#ifndef singleton_h

#define singleton_h

#includeclass singleton

//私有化建構函式使得不能在外部構造例項

static singleton * singleton;//靜態變數

class garbo//負責析構new出來的singleton,

}}; static garbo garbo;//當程式將要結束的時候,會析構garbo變數,將呼叫garbo類的析構函式

public:

static singleton * getinstance()//提供介面建立物件 };

singleton * singleton::singleton = nullptr;//靜態型別初始化格式:《資料型別》 《類名》::靜態資料名=初始化值

#endif

#include#include "singleton.h"

using namespace std;

int main()

設計模式筆記(十七) 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。using system 單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。namespace studesignmode.singleton public static sin...

設計模式 C 實現單例模式

class singleton singleton singleton sing null singleton singleton getinstance 單例模式的實現要點 1 首先要將類的建構函式 複製建構函式和過載的賦值操作符設定為私有方法private,這樣禁止使用者呼叫建構函式來建立物件,...

設計模式 單例模式 C 實現

定義 指乙個類只有乙個例項,且該類能自行建立這個例項的一種模式。特點 1.單例類只有乙個例項物件 2.該單例物件必須由單例類自行建立 3.單例類對外提供乙個訪問該單例類的全域性訪問點。結構 單例類的建構函式往往是私有的。第一種 懶漢式單例 這種模式特點是類載入時沒有生成單例,只有當第一次呼叫geti...