Re[5]: Экспорт boost::shared_ptr из dll
От: Юрий Жмеренецкий ICQ 380412032
Дата: 17.08.09 09:59
Оценка: 29 (1)
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Onorin, Вы писали:


O>>В двух словах, сейчас просто времени не так много на объяснение — такая проблема может проявиться если линковать Run-time статически и память в одном месте выделили, а освободить пытаемся в другом. Вот тут то мы и встаем на эти грабли.


К>shared_ptr всегда удаляет с помощью родного менеджера памяти.

Он "запоминает" deleter для объекта, на который хранит указатель. А вот объект (наследник sp_counted_base), который содержит счетчик ссылок (и deleter) может быть удален "в другой" куче. + shared_ptr можно настроить так, что для выделения памяти под этот объект будет использоваться не стандартный аллокатор, а другой — оптимизированный (BOOST_SP_USE_QUICK_ALLOCATOR).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.