设为首页 加入收藏

TOP

C++ 单件模式实现及对象释放
2015-07-24 06:29:02 来源: 作者: 【 】 浏览:38
Tags:单件 模式 实现 对象 释放

单件模式:

单件模式即在整个应用程序中只有一个类实例且这个实例所占资源在整个应用程序中是共享的。

单件模式的C++实现(构造函数、拷贝构造函数、赋值操作符均需重写):

#include 
  
   

class CSingleton
{
private:
    CSingleton()
    {
        std::cout<<"Singleton Constructed."<
   
    test(); return 0; }
   
  

单件模式的宏定义实现:

使用宏定义实现的好处在于:

1、代码更清晰;

2、当一个系统中需要用到多个单件模式的实例时,可重用代码;

#include 
  
   

#define PATTERN_SINGLETON_DECLARE(classname) \
private:                                    \
    static classname * _instance;           \
    class CGarbo                            \
    {                                       \
    public:                                 \
        ~CGarbo()                           \
        {                                   \
            if (classname::_instance)       \
            {                               \
                delete classname::_instance;\
                std::cout<<"~CGarbo():Singleton Instance Deleted."<
   
    具体实现时,以下部分一般在cpp文件中实现,其他在.h中进行声明:
    

PATTERN_SINGLETON_IMPLEMENT(CSingleton);

int main()
{
    g_Singleton.test();
    return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇获取联系人[自定义布局文件与主布.. 下一篇poj 3101 Astronomy(分数的最小公..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: