<分区>
我知道单例只允许一个对象的一个实例。单例中声明的每个方法都只会对这个对象进行操作。 我想知道为什么不简单地声明一个将实现相同目标的全局对象?
我确实忘记了什么。如果单例存在,则必须有特定用途或有助于实现特定机制。
例如:
class Singleton
{
public:
static Singleton& Instance()
{
static Singleton sg;
return sg;
}
void function();
};
将等同于:
class NotSingleton
{
public:
NotSingleon();
~NotSingleton()
void function();
};
NotSingleton nsg;
但是,没有什么能阻止我使用多个 NotSingleton