單例模式的C 簡單實現

2021-08-07 22:55:41 字數 1375 閱讀 4488

具體例子如下:

/**

* 懶漢式單例模式

*/#include using namespace std;

/* 定義singleton類,用來表示單例模式 */

class singleton

;/* 實現singleton類中的方法和靜態資料成員 */

singleton *singleton::getinstance()

singleton::singleton()

singleton::singleton(const singleton &other)

singleton &singleton::operator=(const singleton &other)

singleton *singleton::instance = new singleton();

/* 程式入口 */

int main()

注意有記憶體洩漏。

具體實現如下:

/**

* 餓漢式單例模式

*/#include #include using namespace std;

/* 定義singleton類,用來表示單例模式 */

class singleton

; static destroysingleton destroyinstance;

};/* 實現singleton類中的方法和靜態資料成員 */

singleton *singleton::getinstance()

pthread_mutex_unlock(&mutex); /* 解鎖 */

} return instance;

}singleton::singleton()

singleton::singleton(const singleton &other)

singleton &singleton::operator=(const singleton &other)

singleton *singleton::instance = null;

pthread_mutex_t singleton::mutex = pthread_mutex_initializer;

singleton::destroysingleton singleton::destroyinstance;

/* 實現內部類destroysingleton的析構函式 */

singleton::destroysingleton::~destroysingleton()

}/* 程式入口 */

int main()

注意多執行緒的同步問題,加鎖與解鎖。

C 單例模式的多種簡單實現

這裡我就不做過多的解釋了,畢竟關於singleton的資料實在是太多太多了。點選這裡 1.簡單的思路就是,建立物件單例的動作轉移到另外的行為上面,利用乙個行為去建立物件自身,如下 public class singleton private static singleton singleton nu...

單例設計模式簡單實現

所謂單例設計模式簡單說就是無論程式如何執行,採用單例設計模式的類 singleton類 永遠只會有乙個例項化物件產生。具體實現步驟如下 1 將採用單例設計模式的類的構造方法私有化 採用private修飾 2 在其內部產生該類的例項化物件,並將其封裝成private static型別。3 定義乙個靜態...

C 實現單例模式

給所需要進行單例的類ctest的建構函式宣告為private或者protected 防止在類外隨意生成ctest的物件 然後宣告乙個靜態成員變數 instance 乙個靜態成員函式getinsance staticctest getinstance staticctest instance 靜態成員...