C++プログラミング
シングルトン
プログラム全体でオブジェクトを1個しか生成できないようにするやつ。
実装は割と単純で、クラスの中でオブジェクトを生成してあとは作れないようにするだけ。
大事なのは、
- コンストラクタをprivateにして隠しちゃうこと
- クラスを読み込んだ時にオブジェクトの宣言だけしておいてnullポインタを指しておくこと
- staticなInstance()関数をpublicにしておいて、ここから新しく作る(1回目)か今あるものを指すか(それ以降)を判断すること
- 使いたい時はコンストラクタの代わりにClasshoge* hoge=Classhoge::Instance();みたいにする
の3点。複数のクラスから同じものを見たいときとかにすごく便利。