无论是c++ 还是java或者c# 很多地方都会选择使用单例模式,”单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案---摘自百度百科“ 在Qt 编程中也不自觉的习惯使用单例模式。做个笔记,以后还会经常使用。
class Msgplugin :public MsgBase_T
{
public:
static Msgplugin* instance();
static void release(); // release it will lead to memory leaks
void init(QString*); //init
private:
Msgplugin();
Msgplugin(Msgplugin const&); // copy ctor is hidden
Msgplugin& operator=(Msgplugin const&); // assign op is hidden
static Msgplugin* m_instance;
};
private 里面主要是为了禁止意外情况下(笔误)类被实例化,从而保证整个工程只有一个对象。