Qt 专门的宏Q_GLOBAL_STATIC,用来实现线程安全的单例模式
Qt本身就提供了专门的宏 Q_GLOBAL_STATIC。通过这个宏不但定义简单,还可以获得线程安全性。
1、先看官方文档
doc.qt.io/qt5/qglobalstatic
doc.qt.io/qt5/threadsreentrancy
2、再看使用方法
Q_GLOBAL_STATIC(Type, VariableName)
Q_GLOBAL_STATIC_WITH_ARGS(Type, VariableName, Arguments)
3、举例说明
rule.h
1 #ifndef RULE_H 2 #define RULE_H 3 #include <QGlobalStatic> 4 #define RULE Rule::instance() 5 class Rule 6 9 virtual ~Rule() 10 public: 11 static Rule* instance(); 12 public: 13 void test(); 14 }; 15 #endif // RULE_Hrulepp
1 #include "rule.h" 2 Q_GLOBAL_STATIC(Rule, rule) 3 Rule* Rule::instance() 4 7 void Rule::test() 8在任何地方,引用头文件 include "rule.h"
就可以Rule::instance()>test();
或者使用宏RULE>test();
上一篇:Qt Cannot retrieve debugging output报错 (无法获取调试输出.)
下一篇:ITK 基于C++和ITK获取3D医学图像的最大连通区域
Qt
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?