シングルトン クラスを作成しましたが、デストラクタ関数が という名前の静的変数のメモリを自動的に解放するかどうか疑問に思っています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;
}
};
instance
PS:ポインターではなく、通常のシングルトン変数を作成することは可能ですか? それはより良いコード練習でしょうか?