Table of Contents

单例

思想,不是语法


单例是什么

Singleton Pattern。保证一个类仅有一个实例,并提供一个访问它的全局访问点。

我的理解

C++的静态函数可以在任何位置访问,但是静态函数不能存储数据,单例就是一个全是静态成员函数的类附带一块单独的全局存储区,访问这个类就等于访问这个类唯一的对象。

代码

From AI
class Singleton {
public:
    static Singleton& getInstance() {
        static Singleton instance;
        return instance;
    }
 
    void showMessage() {
        std::cout << "Hello, I am a singleton object!" << std::endl;
    }
 
private:
    Singleton() {}
    Singleton(const Singleton&) = delete;
    Singleton& operator=(const Singleton&) = delete;
};