关于单例模式,在之前的博客C++设计模式——单例模式和C++面试题之双重检查锁定模式(DCLP)的风险中已经介绍了其多种实现及其优缺点。本文将介绍在Qt中使用单例模式的最佳实践。
在项目开发的过程中,有时候会用到qApp,那么qApp的本质什么呢?qApp是指向应用程序对象的一个全局指针,它等效于QCoreApplication::instance(),也能强制转换为QApplication指针或QGuiApplication指针。下面看看Qt源码中对qApp的定义。
qcoreapplication.h
#define qApp QCoreApplication::instance()
qguiapplication.h
#if defined(qApp)
#undef qApp
#endif
#define qApp (static_cast<QGuiApplication *>(QCoreApplication::insta