我正在阅读,并且在下面的示例中存在疑问。初始化实例的单例
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;”,我应该在哪里需要把这个?在这个类的定义中?有其他选择来初始化它吗?当我读到它时,我只知道设计就是这样,但我没有明白为什么这样的设计。