Google c++ 编码风格不允许非平凡的静态对象(并且出于某种原因),因此不允许单例。同时,单例确实代表了应用程序逻辑的现实。
那么实现单例功能的谷歌风格的正确方法是什么:
(a) 具有静态指针并在启动时将它们初始化为一个单独的步骤(例如,通过初始化器/制造器类的链表)
(b) 拥有对所有类似单例对象的引用的上下文,并通过每个方法传递它
(c) 有上下文成为每个类的成员
(d) 还有什么?
最佳答案
“Google C++ Style Guide ”确实提到了“表示单例对象的类型(Registerer
)”
您可以在 ronaflx/cpp-utility
中看到所述注册器的实现。使用“util/registerer.h
”作为函数指针 ( illustrated here ),以及 util/singleton.h
对于经典单例。
OP 指向他们自己的项目 alex4747-pub/proper_singleton
.
关于coding-style - 单例和谷歌编码风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257363/