マルチスレッドを考慮してSingletonを実装するとき、アクセスする度にTCriticalSectionを使ってオブジェクトの中身を保護してやらないといけないのかな・・・。 class CSingleton { private: CSingleton(){} CSingleton(const CSingleton& obj) {} virtual ~CSingleton(){} public: static CSingleton& getInstance(); static void release(); private: static CSingleton* s_pInstance; }; CSingleton& CSingleton::getInstance() { if (s_pInstance == NULL) { // シングルトンオブジェクトの初期化 // TCritical