用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

单例模型

2015-05-16 作者: 易居山举报

[c++]代码库

#ifndef SINGLETON_H
#define SINGLETON_H

#include "synobj.h"

class Singleton {
public:
    static Singleton& Instance() { // Unique point of access
        Lock lock(_mutex);
        if (0 == _instance) {
            _instance = new Singleton();
            atexit(Destroy); // Register Destroy function
        }
        return *_instance;
    }
    void DoSomething(){}
private:
    static void Destroy() { // Destroy the only instance
        if ( _instance != 0 ) {
            delete _instance;
            _instance = 0;
        }
    }
    Singleton(){} // Prevent clients from creating a new Singleton
    ~Singleton(){} // Prevent clients from deleting a Singleton
    Singleton(const Singleton&); // Prevent clients from copying a Singleton
    Singleton& operator=(const Singleton&);
private:
    static Mutex _mutex;
    static Singleton *_instance; // The one and only instance
};

#endif/*SINGLETON_H*/


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...