我正在閱讀,並且在下面的示例中存在疑問。初始化實例的單例
SINGLEON
Class MazeFactory{
public:
static MazeFactory* Instance();
protected:
MazeFactory();
private:
static MazeFactory* _instance;
};
MazeFactory* MazeFactory::_instance = 0;
MazeFactory* MazeFactory::Instance(){
if(_instance == 0){
_instance = new MazeFactory;
}
return _instance;
}
對於'MazeFactory * MazeFactory :: _實例= 0;」,我應該在哪裏需要把這個?在這個類的定義中?有其他選擇來初始化它嗎?當我讀到它時,我只知道設計就是這樣,但我沒有明白爲什麼這樣的設計。