• 【面试】c++单例模式


    1. 单例模式

    #include <iostream>
    using namespace std;
    
    class CSingleton {
    private:
        CSingleton() {}                               // 构造是私有的
        static CSingleton *m_pInstance;
    public:
        static CSingleton *GetInstance()
        {
            if (m_pInstance == NULL) {
                m_pInstance = new CSingleton();
            }
            return m_pInstance;
        }
    };
    
    CSingleton *CSingleton::m_pInstance = NULL;      // 初始化静态数据成员
    
    int main()
    {
        CSingleton *s1 = CSingleton::GetInstance();  
        CSingleton *s2 = CSingleton::GetInstance();
        if (s1 == s2) {
            cout << "s1 == s2" << endl;
        }
    
        return 0;
    }

    类的所有静态变量都必须在类的外部初始化,格式是:类型名 类名::变量名=初始值;而不管它是私有的还是公有的。

  • 相关阅读:
    机器学习的定义和分类
    选股
    mysql修改密码
    快速排序
    php的错误类型
    MySQL数据库优化
    库存超卖问题
    循环处理
    kafka安装配置
    JavaScript、jQuery杂记
  • 原文地址:https://www.cnblogs.com/douzujun/p/10840690.html
Copyright © 2020-2023  润新知