假設我們有一些使用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這確實是真正的優勢。 –