- プライベートな静的メンバ変数とプライベートなコンストラクタを持つクラスを作成します。これにより、クラスの外部からのインスタンス化を防ぎます。
class Singleton {
private:
static Singleton* instance;
Singleton() {}
// プライベートなコンストラクタ
public:
static Singleton* getInstance() {
if (instance == nullptr) {
instance = new Singleton();
}
return instance;
}
};
Singleton* Singleton::instance = nullptr;
getInstance
メソッドを使用して、唯一のインスタンスを返すようにします。このメソッドは、最初の呼び出し時にインスタンスを作成し、以降の呼び出しでは既存のインスタンスを返します。
Singleton* singletonInstance = Singleton::getInstance();
これで、singletonInstance
にはシングルトンクラスの唯一のインスタンスが格納されます。
以上が、C++でシングルトンクラスを実装するためのシンプルで簡単な方法です。このパターンを使用することで、インスタンスの一貫性と共有リソースの効率的な利用を実現できます。