单例和Google编码样式

时间:2019-05-22 12:57:51

标签: coding-style singleton

Google c ++编码样式不允许使用非平凡的静态对象(由于某种原因),因此不允许单例。同时,单例确实代表了应用程序逻辑的现实。

那么实现单例功能google-style的正确方法是什么:
(a)具有静态指针,并在启动时作为单独的步骤对其进行初始化(例如,通过初始化程序/制造商类的链接列表)
(b)具有上下文保存对所有单例对象的引用,并通过每种方法传递它 (c)有上下文可以成为每个班级的成员
(d)还有什么?

1 个答案:

答案 0 :(得分:1)

Google C++ Style Guide”确实提到“表示单例对象的类型( import io buffer = io.StringIO() df.info(buf=buffer) s = buffer.getvalue() with open("df_info.txt", "w", encoding="utf-8") as f: f.write(s) )”

您可以在ronaflx/cpp-utility中看到上述寄存器的实现,其中函数指针(util/registerer.h)带有“ illustrated here”,而经典单例则带有util/singleton.h