From 9faa1cce49c4c181025d829ac8c4c31afba26c1c Mon Sep 17 00:00:00 2001 From: "dmy@lab" Date: Fri, 16 Jan 2015 15:55:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A5=E5=90=8E=E5=BE=97?= =?UTF-8?q?=E5=88=B0=E4=B8=80=E4=B8=AA=E5=8F=AF=E4=BB=A5=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=B1=BB=E5=8D=95=E4=BE=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dmy@lab --- testHasttable/singletonbase.h | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/testHasttable/singletonbase.h b/testHasttable/singletonbase.h index b9abb72..0183241 100644 --- a/testHasttable/singletonbase.h +++ b/testHasttable/singletonbase.h @@ -4,8 +4,7 @@ //做一个单例 #include - -template +template class SingletonBase { public: @@ -13,20 +12,26 @@ public: // ~SingletonBase(); void add(const KeyType& key,const ValueType& val) { - this->ht[key]=val; + QHash *t=SingletonBase::ht; + (*t)[key]=val; } bool contains(const KeyType& key) { - return this->ht->contains(key); + return SingletonBase::ht->contains(key); } ValueType get(const KeyType& key) { - return this->ht[key]; + QHash *t=SingletonBase::ht; + return (*t)[key]; } - void initInstance() { - if() + if(SingletonBase::ht) + { + delete SingletonBase::ht; + SingletonBase::ht==NULL; + } + SingletonBase::ht=new QHash; } protected: @@ -43,4 +48,8 @@ protected: static QHash *ht; }; + +template +QHash *SingletonBase::ht=NULL; + #endif // SINGLETONBASE_H