#include <stdio.h>
#include <mutex>
class Singleton
{
private:
static Singleton* instance;
static std::mutex mutex;
Singleton() {};
public:
static Singleton* getInstance()
{
if (instance==nullptr)
{
std::lock_guard<std::mutex> lock(mutex);
instance = new Singleton();
}
return instance;
}
};
Singleton* Singleton::instance = nullptr;
std::mutex Singleton::mutex;
int main()
{
Singleton* single = Singleton::getInstance();
return 0;
}