デザインパターンの単純そうな質問
■ このスレッドは過去ログ倉庫に格納されています
0738735
NGNGSingletonのインスタンスは、最初のSingleton::Instance()呼び出し時に生成されて、
main()からreturnした後(またはexit()したとき)に自動的に破棄されます。
class Singleton {
static Singleton* Instance();
};
Singleton* Singleton::Instance()
{
static Singleton theInstance;
return &theInstance;
}
"Modern C++ Design"には、これを改良したPhoenix-Singletonの話なども載っていて、
結構面白いです。
main()からreturnしたあとにもSingletonのインスタンスが必要になる可能性がある場合
(例えば、他のstaticオブジェクトのデストラクタや、at_exit()に登録された処理の中で
Singletonのインスタンスが必要になる場合)、上記では対処できませんが、
Phoenix-Singletonなら対処できます。
■ このスレッドは過去ログ倉庫に格納されています