假设我们有一些使用extern关键字的外部链接。extern vs Singleton class
我有(在class1.cpp):
MyClass* myClassVar = NULL;
构造函数初始化以上,和析构函数删除。
然后在class2.cpp和class3.cpp有:
extern MyClass* myClassVar;
这些类使用myClassVar(做通常的null检查等)。
Singleton会被首选吗? (我知道globals是坏的,而Singleton只是语法糖)。将上面的代码更改为以下代码是否有优势?
static Singleton& getInstance()
{
static Singleton instance;
return instance;
}
然后,所有的类就可以了:
Singleton::getInstance()
+1这确实是真正的优势。 –