C++でSingletonの実装
Singletonとは、デザインパターンの一種でインスタンスが1つだけであることを保障します。
コンストラクタをprivateにする。
//==================================== // Game(Singleton) //==================================== class Game { private: Game(); public: static Game* getGame(){ static Game game; return &game; } void Run(); }; //==================================== // Game Access //==================================== #define GAME Game::getGame() //==================================== // Main //==================================== int main() { GAME->Run(); return 0; }
このようにコンストラクタをprivateにしておくことで
クラス内のstatic要素の部分以外では生成できないようにしてあります。
インスタンスの取得&アクセスがしやすいように#defineで定義しておくと楽です。