iT邦幫忙

1

【c/c++學習筆記】單例設計模式(Singleton)

c++

在程式語言中,有一種設計模式叫做單例(singleton),
意思是希望整個物件只能被創建一次,
之後要呼叫這個物件都會得到同一個物件,
小馬在想,需要只有唯一的一個物件的例可能像是電腦上的滑鼠,
同一台電腦上就只會有一個滑鼠,
所以滑鼠這個物件即可以用單例模式

要臨時想出程式碼可能有難度,
感覺需要平時有學過才寫的出來,
筆記一下

可參考題目: LintCode 204. 單例

範例程式碼

#include <iostream>

class Solution {
private:
    Solution(){};
	static Solution* instance;
public:
    static Solution* getInstance() {
        if(instance==NULL)
        {
            instance = new Solution();
        }
        return instance;
    }
};

Solution* Solution::instance = NULL;

int main()
{
    Solution *s = Solution::getInstance();
    Solution *t = Solution::getInstance();
    std::cout << (s==t) << std::endl; //true
    
}

尚未有邦友留言

立即登入留言