0

你好堆栈溢出。

我正在准备明天的 CS 考试,我正在查看我们的教授为我们提供的复习表。其中一点说要知道为什么 Singleton 是比 Global 更好的选择。

我不完全确定其中的原因,但我确实记得他说过 Singleton 使用较少的“命名空间污染”。我在 Google 上进行了几次比较 Singleton 和 Global 的搜索,但几乎所有结果都表明两者都是糟糕的选择,哈哈。所以它只是让我感到困惑。

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

4

1 回答 1

1

它们是惰性构造的:

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.
};
于 2013-03-04T02:04:10.867 回答