假设我们有一些使用extern关键字的外部链接。
我在class1.cpp中有以下代码:
MyClass* myClassVar = NULL;
构造函数初始化上述内容,析构函数删除。
然后在class2.cpp和class3.cpp中有:
extern MyClass* myClassVar;
这些类使用myClassVar(通常进行null检查等)。
是否更喜欢使用Singleton?(我知道全局变量很糟糕等等,而Singleton只是语法糖)。将上述代码更改为下面的代码是否有优势?
static Singleton& getInstance()
{
static Singleton instance;
return instance;
}
然后所有的类都会执行:
Singleton::getInstance()