Итак, классическая простая реализация Синглтона следующая:
class Singleton
{
private:
static Singleton* singleton;
Singleton() {}
public:
static Singleton* getInstance();
};
CPP файл
Singleton* Singleton::singleton = 0;
Singleton* Singleton::getInstance()
{
if (!singleton)
{
singleton = new Singleton;
}
return singleton;
}
Я вижу утечку памяти здесь - "потому что нет нового для нового. Но в С++ нет статического деструктора, поэтому мы просто не заботимся об этой утечке памяти?