delete и приватный деструктор
От: Аноним  
Дата: 20.03.09 09:23
Оценка:
Имем классический синглтон:
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 к указателю на объект этого такого класса? деструктор же приватный. Я всегда счетал, что если закрыть деструктор, то объект нельзя удалить извне, только изнутри.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.