Re: Один за всех
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 29.09.05 15:15
Оценка: +1
Здравствуйте, -MyXa-, Вы писали:

MX>Вот только объект value болтается в памяти до самого завершения приложения, а хотелось бы, чтоб он уничтожался как только нет ни одного из SomeClass.


Народ ленивый пошел, думать не хочет

class SomeClass
{
 private:
  static SomeOtherClass* value; //инициализируется NULL-ом
  static int sm_cnt; //инициализируется нулем

 public:
  SomeClass()
  {
   if((sm_cnt++)==0)
    value=new SomeOtherClass()
  }

 ~SomeClass()
  {
   if((--sm_cnt)==0)
   {
    delete value;
    value=NULL;
   }
  }
};//SomeClass

Про многопоточность я тоже думать не хочу
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.