荒屋敷智也のブログ

【C++備忘録】Visual Studio2022 シングルトン

当ブログではアフィリエイト広告を利用しています

参照リンク

youtu.be
qiita.com

シングルトンとは?

インスタンスが複数作成されず、単一になるような設計

サンプルコード

#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;
}