为什么GitHub C ++核心指南说全局对象比单例更好?

时间:2015-11-09 09:40:18

标签: c++ singleton global-object

The Github C++ Core Guidelines说:

  

全局对象通常比单身对象好。

我一直认为相反。从那时起C ++中出现了一些变化? 或者可能只是另一个错字?

1 个答案:

答案 0 :(得分:4)

这是避免来自同一guideline collection的单身人士的理由:

  

I.3:避免单身人士

     

原因

     

单身人士基本上是伪装的复杂全球物品。

     

实施例

class Singleton {
    // ... lots of stuff to ensure that only one Singleton object is created,
    // that it is initialized properly, etc.
};
  

单身人士的想法有很多变种。这是问题的一部分。

我对作者意图的分析:

越简单越好。如果在单例中伪装全局对象并不能解决全局对象的问题 - 就像上面的指导所暗示的那样 - 那么使用伪装就不会使代码变得复杂。