シングルトンとは?
インスタンスが複数作成されず、単一になるような設計
サンプルコード
#include <iostream> using namespace std; class Singleton { //インスタンス化されない対策 protected: //インスタンスを宣言しない Singleton() = default; public: int data; //Singletonを生成する static Singleton& get_instance() { static Singleton instance; return instance; } //コピーコンストラクタ防止 Singleton(const Singleton&) = delete; Singleton(Singleton&&) = delete; Singleton& operator=(const Singleton&) = delete; Singleton& operator=(Singleton&&) = delete; }; int main() { Singleton& singleton = Singleton::get_instance(); singleton.data = 20; cout << "singleton:" << singleton.data << endl; }