直接看代码
#include
#ifndef xwSINGLETON
#define xwSINGLETON( Type , … ) Q_GLOBAL_STATIC_WITH_ARGS(Type ,g_##Type ,(VA_ARGS))
#endif
如何使用
#incldue
class A
{
A(QString str)
{
qDebug() << Q_FUNC_INFO << str ;
}
~A()
{
qDebug() << Q_FUNC_INFO ;
}
xwSINGLETON(A,“www”)
优点
1、非入侵式
- 2、支持带参数的构造函数
- 3、线程安全
- 4、定义了一个全局变量:g_className;一个全局函数g_className(),返回*className