Qt单例:Qt有专门的宏Q"/>
Qt单例:Qt有专门的宏Q
Qt本身就提供了专门的宏 Q_GLOBAL_STATIC。通过这个宏不但定义简单,还可以获得线程安全性。
1、先看官方文档
.html
.html
2、再看使用方法
Q_GLOBAL_STATIC(Type, VariableName)
Q_GLOBAL_STATIC_WITH_ARGS(Type, VariableName, Arguments)
3、举例说明
rule.h
#ifndef RULE_H
#define RULE_H#include <QGlobalStatic>
#define RULE Rule::instance()class Rule
{
public:Rule() {}virtual ~Rule() {}public:static Rule* instance();public:void test();
};#endif // RULE_H
rule.cpp
#include "rule.h"Q_GLOBAL_STATIC(Rule, rule)Rule* Rule::instance()
{return rule();
}void Rule::test()
{//todo
}
在任何地方,引用头文件 include "rule.h"
就可以Rule::instance()->test();
或者使用宏RULE->test();
---
参考文献
.html
/
引申阅读
.html Qt线程池
.html Qt 智能指针
.html Qt Mqtt
更多推荐
Qt单例:Qt有专门的宏Q
发布评论