相关疑难解决方法(0)

C++ singleton vs完全静态对象

假设我们需要在项目中只有一个类的一个实例.有几种方法可以做到这一点.

我想比较一下.请你复习一下我的理解.

1)古典单身模式

2)完全静态类(所有方法和成员都是静态的).


据我所知,差异如下:

a)未定义跨不同单元的静态成员的初始化顺序.因此,完全静态成员初始化不能使用来自其他模块的任何静态成员/函数.而单身人士没有这个问题.

b)我们必须处理Singleton的getInstance()的线程.但是,完全静态类没有这个问题.

c)访问方法看起来有点不同.FOO ::巴(); vs Foo :: getInstance() - > bar(); 通常,singleton可以返回NULL来识别构造对象时存在一些问题而静态类不能.

d)对于静态类的一堆静态,类的定义看起来有点笨拙.

我错过了什么吗?

c++ singleton static class

34
推荐指数
3
解决办法
3万
查看次数

标签 统计

c++ ×1

class ×1

singleton ×1

static ×1