我创建了一个 Singleton 类,我想知道我的析构函数是否会自动释放名为instance
.
下面的代码会自动释放内存吗?
class SingletonClass
{
SingletonClass()
{
}
~SingletonClass()
{
delete this; // or should I say... delete instance;
}
public:
static SingletonClass* instance;
SingletonClass* getInstance()
{
if (instance != NULL)
return instance;
instance = new SingletonClass();
return instance;
}
};
PS:是否可以只创建instance
一个常规的 Singleton 变量而不是指针?这会是更好的代码练习吗?