习惯怎么销毁CCUserDefault

想问下各位都怎么销毁CCUserDefault的?
1 看到别人写的代码,只调 purgeSharedUserDefault ?这样没销毁对象,下次调sharedUserDefault等于又生成一个对象?

2 delete CCUserDefault::sharedUserDefault()

各位习惯怎么用呢1 or 2?

。。。这是个单件。。。。。。

是单例没错,可是
void CCUserDefault::purgeSharedUserDefault()
{
m_spUserDefault = NULL;
}

CCUserDefault* CCUserDefault::sharedUserDefault()
{
initXMLFilePath();

// only create xml file one time
// the file exists after the program exit
if ((! isXMLFileExist()) && (! createXMLFile()))
{
    return NULL;
}

if (! m_spUserDefault)
{
    m_spUserDefault = new CCUserDefault();
}

return m_spUserDefault;

}

m_spUserDefault==NULL的话sharedUserDefault每次都会new的。

这个对游戏印象很大吗?为啥要销毁?CCDirector有销毁过吗?

我只是奇怪提供purgeSharedUserDefault的意义?从字面理解是清理共享的userdefault,但是又只把m_spUserDefault 设成null,调用这个函数不会造成内存泄露吗?我新手,请指教。

直接删除debug目录下的userdefault.xml文件