【发布时间】:2012-07-06 21:45:28
【问题描述】:
可能重复:
What is so bad about singletons?
Singleton pattern in C++
我想创建一个单例类。为此,我创建了一个类,其所有成员和方法都是静态的。像这样。
class a
{
static int a;
static GetA();
}
现在所有想要使用我的单例类的类都不能为我的类创建任何对象,并且也将获得相同的值。我只想知道这个实现是否能解决所有目的并满足创建单例类的所有条件。
【问题讨论】:
-
这不是一个实现。它什么也没说。
-
正如所写,任何人都可以创建它(因为构造函数是公共的),但没有人可以访问静态实例(因为它和访问器都是私有的)。这与您想要的相反。
-
@Apoorvasahay:不;但是如果一切都是静态的,那么无论如何都不需要构造函数(除非将其设为私有,如果您希望它更单例)。此外,它根本不需要成为一个类。
-
但是编译器自己提供了一个默认的 CTOR,如果不提供的话。如果我错了,请纠正。
-
@Apoorvasahay:是的,没错。它是公开的,在传统的单例模式中,您希望它是私有的。但是,您的类听起来更像是静态变量的集合而不是单例,在这种情况下,它根本不应该是一个类。
标签: c++