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
spc文件怎么看,spc文件用什么打开?
0文件怎么看,0文件用什么打开?
sparseimage文件怎么看,sparseimage文件用什么打开?
sp文件怎么看,sp文件用什么打开?
dv文件怎么看,dv文件用什么打开?
soundpack文件怎么看,soundpack文件用什么打开?
dus文件怎么看,dus文件用什么打开?
dtw文件怎么看,dtw文件用什么打开?
spdf文件怎么看,spdf文件用什么打开?
0文件怎么看,0文件用什么打开?