修复了单例的bug

Signed-off-by: facat@lab.com <facat@lab.com>
This commit is contained in:
facat@lab.com
2014-11-26 20:49:33 +08:00
parent 53416f8f33
commit 38025aa1fc
7 changed files with 52 additions and 10 deletions

View File

@@ -6,13 +6,23 @@
class NodeToTerminal
{
public:
explicit NodeToTerminal();
NodeToTerminal();
~NodeToTerminal();
void add(const QString& key,const QString& value);
bool contains(const QString& key);
QString value(const QString& key);
private:
static QHash<QString,QString> *ht;
class CG // 它的唯一工作就是在析构函数中删除CSingleton的实例
{
public:
~CG()
{
if (NodeToTerminal::ht)
delete NodeToTerminal::ht;
}
};
static CG Garbo; // 定义一个静态成员,在程序结束时,系统会调用它的析构函数
static QHash<QString,QString> *ht;
};