This commit is contained in:
2024-08-04 19:17:04 +08:00
parent f700664636
commit d366556106
4 changed files with 64 additions and 37 deletions
+24 -24
View File
@@ -52,24 +52,24 @@ private:
/// ///
////////////////////////////////////////////////////////////////////////////////
#if 0
//template <typename T> QMutex Singleton<T>::mutex;
//template <typename T> QScopedPointer<T> Singleton<T>::instance;
template <typename T> QMutex Singleton<T>::mutex;
template <typename T> QScopedPointer<T> Singleton<T>::instance;
//template <typename T>
//T& Singleton<T>::getInstance()
//{
// if (instance.isNull())
// {
// mutex.lock();
// if (instance.isNull())
// {
// instance.reset(new T());
// }
// mutex.unlock();
// }
template <typename T>
T& Singleton<T>::getInstance()
{
if (instance.isNull())
{
mutex.lock();
if (instance.isNull())
{
instance.reset(new T());
}
mutex.unlock();
}
// return *instance.data();
//}
return *instance.data();
}
#endif
////////////////////////////////////////////////////////////////////////////////
@@ -78,14 +78,14 @@ private:
/// ///
////////////////////////////////////////////////////////////////////////////////
#if 0
//#define SINGLETON(Class) \
//private: \
// Class(); \
// ~Class(); \
// Class(const Class &other); \
// Class& operator=(const Class &other); \
// friend class Singleton<Class>; \
// friend struct QScopedPointerDeleter<Class>;
#define SINGLETON(Class) \
private: \
Class(); \
~Class(); \
Class(const Class &other); \
Class& operator=(const Class &other); \
friend class Singleton<Class>; \
friend struct QScopedPointerDeleter<Class>;
#endif
#define SINGLETON(Class) friend class Singleton<Class>
#endif // SINGLETON_H