Имем классический синглтон:
class Singleton
{ public:
static Singleton * Instance();
private:
Singleton();
Singleton(const Singleton &sg);
Singleton& operator=(const Singleton &sg);
~Singleton();
static Singleton * instance_;
};
Singleton * Singleton::instance_= 0;
Singleton * Singleton::Instance()
{ if (instance_ == 0) instance_ = new Sigleton();
return instance_;
};
Говорят можно применить оператор delete к указателю на объект этого класса.
Как раз в связи с этим Мейерс предлажил свою реализацию паттерна, где статический указатель переходит в статический метод.
Меня интересует почему можно применить delete к указателю на объект этого такого класса? деструктор же приватный. Я всегда счетал, что если закрыть деструктор, то объект нельзя удалить извне, только изнутри.