сказка про C++
Apr. 21st, 2006 02:06 pmЖил-был в одной программе статический объект (singleton) A - контейнер с тестами.
А еще там был статический объект B - самодельный аллокатор памяти.
Захотелось как-то одному тесту из A получить буфер от B. Выдал ему B буфер памяти с адресом C.
А затем программа сталa завершаться.
Первым отработал деструктор B. И не стало никакой памяти по адресу С.
Затем запустился деструктор A. Стал он вызывать деструкторы тестов, глянул наш тест по адресу С и упал.
Вот и сказочке конец, а кто слушал - расскажите мне теперь, можно ли управлять порядком удаления статических объектов и как?
А еще там был статический объект B - самодельный аллокатор памяти.
Захотелось как-то одному тесту из A получить буфер от B. Выдал ему B буфер памяти с адресом C.
А затем программа сталa завершаться.
Первым отработал деструктор B. И не стало никакой памяти по адресу С.
Затем запустился деструктор A. Стал он вызывать деструкторы тестов, глянул наш тест по адресу С и упал.
Вот и сказочке конец, а кто слушал - расскажите мне теперь, можно ли управлять порядком удаления статических объектов и как?