当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

C++中单例模式对象的释放控制

    单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。

    单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有静态方法获取该实例。如下面的类定义:

 以下是引用片段:

class CSingleton:
{
    // 其它成员
public:
    static CSingleton * GetInstance()
    {
        if (m_pInstance == NULL)
            m_pInstance = new CSingleton();
        return m_pInstance;
    }

private:
    CSingleton(){};
    static CSingleton * m_pInstance;
}


    单例类CSingleton有以下特征:

    它有一个指唯一实例的静态指针m_pInstance,并且是私有的。

    它有一个公有的函数,可以获取这个唯一的实例,并在需要的时候创建该实例。

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接