utilities(C++)——单例(Singleton)

来源:互联网 发布:听音识曲哪个软件更好 编辑:程序博客网 时间:2024/06/06 03:25
class Singleton{public:    // 通过类名获得类实例指针    static Singleton* instance()    {        if (!_instance)            _instance = new Singleton;        return _instance;    }private:    // 禁止拷贝    Singleton(const Singleton& );    Singleton& operator=(const Singleton& );    // 将构造函数声明为私有的    Singleton(){}    static Singleton* _instance;};Singleton* Singleton::_instance = NULL;

这样只开放给外部一个接口获取类实例指针,且只在第一次执行new的动作。

int main(int, char**){    Singleton* s = Singleton::instance();    Singleton* s2 = Singleton::instance();                        // s、s2 指向同一个类实例    return 0;}
0 0
原创粉丝点击