Google c ++编码样式不允许使用非平凡的静态对象(由于某种原因),因此不允许单例。同时,单例确实代表了应用程序逻辑的现实。
那么实现单例功能google-style的正确方法是什么:
(a)具有静态指针,并在启动时作为单独的步骤对其进行初始化(例如,通过初始化程序/制造商类的链接列表)
(b)具有上下文保存对所有单例对象的引用,并通过每种方法传递它
(c)有上下文可以成为每个班级的成员
(d)还有什么?
答案 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
。