c 實現單例

2022-07-09 20:00:10 字數 712 閱讀 1398

單例巨集:

//

單件定義巨集

//-------------------------------------

//在標頭檔案中申明

//declare_singleobj( csampleclass ) ;

//在cpp檔案中定義靜態變數

//implement_singleobj( csampleclass ) ;

//注意單件的getinstance為非執行緒安全,

//最好是在主線程初始化的時候呼叫一次

//-------------------------------------

#define declare_singleobj(type) \

public

: \

static type*m_instance ;\

static type*getinstance()\

return

m_instance ;\

};\static

void

release()\

};#define implement_singleobj(type) \type* type::m_instance = null ;

乙個例項:

class

cnetserver

return0;

}

c 單例實現

1.物件指標實現 class singleton unlock return m pinstance int getdata const private singleton m test 888 class cgarbo cgarbo static cgarbo m garbo static sin...

c 實現單例

單例巨集 單件定義巨集 在標頭檔案中申明 declare singleobj csampleclass 在cpp檔案中定義靜態變數 implement singleobj csampleclass 注意單件的getinstance為非執行緒安全,最好是在主線程初始化的時候呼叫一次 define de...

C 單例實現

單例本來是個很簡單的模式,實現上應該也是很簡單,但c 單例的簡單實現會有一些坑,來看看為了避免這些坑怎樣一步步演化到boost庫的實現方式。class qmmanager 這是最簡單的版本,在單執行緒下 或者是c 0x下 是沒任何問題的,但在多執行緒下就不行了,因為static qmmanager ...