From e9636f8f5db5e002821ade22254b1d46490891b1 Mon Sep 17 00:00:00 2001 From: tianduanrui <2407223896@qq.com> Date: Mon, 23 Apr 2018 22:57:16 +0800 Subject: [PATCH] fix c++ synax error --- src/core/qqtobjectmanager.cpp | 2 +- src/core/qqtobjectmanager.h | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/core/qqtobjectmanager.cpp b/src/core/qqtobjectmanager.cpp index fb2c04f7..7855f002 100644 --- a/src/core/qqtobjectmanager.cpp +++ b/src/core/qqtobjectmanager.cpp @@ -1 +1 @@ -#include "qqtobjectmanager.h" +#include "qqtobjectmanager.h" diff --git a/src/core/qqtobjectmanager.h b/src/core/qqtobjectmanager.h index 43a310dc..7a3f72a4 100644 --- a/src/core/qqtobjectmanager.h +++ b/src/core/qqtobjectmanager.h @@ -1,4 +1,4 @@ -#ifndef QQTOBJECTMANAGER_H +#ifndef QQTOBJECTMANAGER_H #define QQTOBJECTMANAGER_H #include @@ -58,6 +58,8 @@ private: static QHash& constructors() { /* * 保存生成类对象的具体(非模板)函数 + * 这个变量是全局的。 + * 无论是否使用静态函数包裹,这个变量用于是全局的,一直存在,不受类的实例存在与否控制。 */ static QHash instance; return instance; @@ -135,6 +137,8 @@ public: * @param w */ static void registerObject ( const QObject* const& w ) { + if ( !containers().contains ( w ) ) + return; containers().push_back ( w ); } /** @@ -173,6 +177,10 @@ public: } private: + //包裹一下,有利于省却全局声明。 + //强调:这个static不论是否被静态成员函数包裹,永远存在。 + //类不决定生存周期。 + //类决定作用域。 static QList& containers() { static QList instance; return instance;