C 單例模式

2021-06-21 21:23:14 字數 881 閱讀 5545

自從阿里**了回來就想寫一篇單例模式了,一直拖到現在,從前也查了好多,自我感覺還是乙個不錯的,背了下來,今天再查資料發現還是漏洞太多了,真的不的不佩服c++是多麼的強大啊!~

首先拿我之前的那個來分享:

class csingleton

static void release() //必須,否則會導致記憶體洩露 }

protected:

csingleton()

; static csingleton * m_pinstance;

};csingleton* csingleton::m_pinstance = null;

這個當時我認為還可以,但是拿去阿里面試官那說這個還是有點小問題,然後就說不適合多執行緒。

今天回來查資料大多都不適合多執行緒,還有自己又發現了一些錯誤,可以進行深拷貝和友元可以訪問。所以修改如下:

class csingleton

return m_pinstance;

} static void release() //必須,否則會導致記憶體洩露 }

protected:

csingleton()

; static csingleton * m_pinstance;

private:

csingleton();

csingleton(const csingleton &);

csingleton& operator = (const csingleton &);

};csingleton* csingleton::m_pinstance = null;

至於如何加鎖,vc裡邊mfc有臨界區,其他的也都有,各不相同就不寫了!~

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

C 單例模式

效率有點低,但是還算安全的單例模式,靜態成員實現方式 class singleton public static singleton getinstance singleton singleton getinstance unlock return m instance 內部靜態例項的懶漢模式,c ...