鍗曚歡妯″紡瀹炵幇鐨勬妧宸ф槸灝嗘瀯閫犲嚱鏁扮鏈夊寲錛岃繖鏍峰氨紱佹浜嗙洿鎺ュ畾涔夊璞″彉閲忓拰鐢╪ew鐢熸垚瀵硅薄銆備絾灝嗘瀯閫犲嚱鏁拌涓虹鏈夌殑璇濓紝鍙堝浣曞幓鐢熸垚閭d釜鍞竴鐨勫璞″憿錛熷簾璇濆皯璇達紝鍏堣創浠g爜銆?br>
class Singleton{
private:
Singleton(){
// more code
}
static Singleton *thisInstance;
// more code
public:
static Singleton *getInstance();
// more code
};
Singleton *Singleton::thisInstance=NULL;
Singleton *Singleton::getInstance(){
if (thisInstance==NULL)
thisInstance=new Singleton();
return thisInstance;
}
濡傛涓鏉ワ紝瑕佸彇寰桽ingleton鐨勫疄渚嬶紝鍙兘鐢╣etInstance鍑芥暟銆俫etInstance鍑芥暟蹇呴』鏄潤鎬侊紙Static錛夌殑錛岃繖鏍鋒墠鑳藉湪榪樻病鏈夊疄渚嬬殑鏃跺欎嬌鐢ㄨ繖涓嚱鏁般傝実etInstance鍙堟槸Singleton綾婚噷鐨勫嚱鏁幫紝褰撶劧鏄彲浠ュ湪鍏朵腑浣跨敤new鏉ョ敓鎴愬璞′簡銆傛墍浠ヨ铏界劧灝嗙被鐨勬瀯閫犲嚱鏁扮鏈夊寲浜嗭紝浣嗘瀯閫犲嚱鏁版湰韜繕鏄湁鎰忎箟鐨勶紝瀹冧細鍦ㄦ瀯寤虹涓涓紝涔熸槸鍞竴涓涓疄渚嬬殑鏃跺欐墽琛屻傚悓鏃訛紝淇濊瘉浜嗕笉浼氬嚭鐜板浜庝竴涓殑瀹炰緥銆?br> 
]]>