Singleton* Singleton::_instance = 0; Singleton* Singleton::Instance() { if (_instance == 0) { _instance = new Singleton; } return _instance; } GoF本の実装の問題 GoF本の実装例のコードが抱える問題点を列挙します。 コピーコンストラクタ、コピー代入演算子によってインスタンスの唯一性の保証が崩れる Singleton* s1 = Singleton::getInstace(); Singleton* s2 = new Singleton(*s1); Singleton s3 = *s2; とすれば、新しいSingletonクラスのインスタンスが生成されます。 インスタンスをdeleteされてしまうと、以後ダングリング参照問題が発生する Single