Re[2]: Удаление статических членов
От: wdm Россия  
Дата: 15.11.05 08:09
Оценка:
Здравствуйте, Aera, Вы писали:


A>Не понятно в какой момент ты делал delete c;, но возможно, что уже после того, как начала отрабатываться уничтожение глобальных переменных. Т.е. вызов кода из деструктора статического экземпляра класса (см ниже) может привести к такому результату


Деструктор с я вызываю из деструктора главной формы соответственно. Когда писал вопрос я это упустил, извините.
Что касается удаления статических переменных то вопрос можно юыло бы переформулировать след. образом — как управлять последовательностью их уничтожения.
Раньше я делал так:

template <typename T>
class foo{
static T * mas;
static int count;
static void open() { mas=new T; }
static void close() { delete mas; }
foo(){
if(count++==0)open();
}
~foo(){
if(--count==0)close();
}
};

template <> int foo<Object> count=0;
template <> Object * foo<Object> mas=NULL;

и все работало на ура. Но сейчас даже такой прием не помогает. Обьясните дураку как правильно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.