C 單例模式使用

2021-09-27 10:26:37 字數 1079 閱讀 3773

單例模式的類就是在乙個程序中只建立乙個全域性的例項來使用。可以封裝乙個巨集來方便地進行函式呼叫。

單例模式的建構函式和析構函式都為類的private函式。對外提供乙個static方法來獲取類的例項。

這樣類的例項就無法被其他的類所建立,只能通過對外的static介面來建立該類的例項。

namespace diagservice

return m_instance;

}void init();

void deinit();

private:

cdtcinte***ce();

virtual ~cdtcinte***ce();

static cdtcinte***ce* m_instance;

bool b_init;

};

#define cdtcinte***ceins cdtcinte***ce::getinstance()

}

using namespace diagservice;

cdtcinte***ce* cdtcinte***ce::m_instance = null;

cdtcinte***ceins->init();
注意:不要在單例的析構函式裡面delete單例的物件。單例的構造和析構函式都要定義為private許可權。

class diagdispatcher

;

#include #include #include "singleton.h"

using namespace std;

diagdispatcher *diagdispatcher::mdiagdispatcher = null;

diagdispatcher::diagdispatcher()

diagdispatcher::~diagdispatcher()

}void diagdispatcher::createinstance()

}int main()

C 單例模式使用

一直以來都沒有細細的看過設計模式,今天借助部落格來記錄一下學習過程。單例模式,是這些設計模式中最常用的一種模式,之前我們可能使用過全域性或者靜態變數的方式,現在可以考慮單例模式了。單例模式主要是在一些工具類使用較多,因為工具類基本不用儲存太多的跟自身有關的資料,這種情況下,如果每次都new乙個物件,...

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...