- 206 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:41:02 ]
- >>202
クラスの静的メンバ変数は、外部で定義しなければならない。 Cのグローバル変数がヘッダで宣言して、どこか1ヶ所で定義するのと同じ理屈。 それはともかくマルチスレッドを考慮しないのなら、単にこうでいい。 class Singleton { public: static Singleton getInstance() { return singleton; } ~Singleton() {} private: static Singleton singleton; Singleton() {} }; static Singleton Singleton::singleton; マルチスレッドを考慮するなら、Singletonはポインタ、 当然std::auto_ptrやboost::scoped_ptrあたりにすべき。
|

|