为什么单例是比全局对象更好的选择

Why is Singleton a better choice than Global Objects

本文关键字:更好 选择 对象 全局 单例 为什么      更新时间:2023-10-16

你好,堆栈溢出。

我正在准备明天的计算机科学考试,我正在看教授给我们的复习表。其中一点是要知道为什么Singleton是比Global更好的选择。

我不太确定原因,但我确实记得他说过Singleton使用较少的"命名空间污染"。我在谷歌上做了几次比较Singleton和Global的搜索,但几乎所有的结果都说这两个都是糟糕的选择,哈哈。所以它只是让我再困惑了。

如果有人能帮我解决这个问题,我将不胜感激。谢谢!

它们是惰性构造:

LargeObject   global;                    // Large object is always constructed.
class LargeObject_Singelton
{
    public: static LargeObject& getInstance()
    {
        static LargeObject  instance;     // This object is not created until the first
        return instance;                  // time getInstance() is called.
    }                                     // If you never use it this can be important.
};