Re[2]: Shared_Ptr в библиотеке
От: Caracrist https://1pwd.org/
Дата: 07.04.11 16:38
Оценка: -1
Здравствуйте, XuMuK, Вы писали:

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


D>>Всем привет.

D>>Возник такой вот вопрос над которым думаю уже некоторое время.
D>>Как ведет себя к примеру шаред поинтер в связке exe<->dll
D>>к примеру если у нас в библиотеке объявлен смарт поинтер и класс, создается обхект и передается в приложение, либа больше не имеет указателей на этот смарт поинтер
D>>и следовательно когда основному приложению он будет не нужен — объект удалится.
D>>По сути получается алоцировали объект в DLL а грохаем в EXE, что не правильно изначально.

D>>В этом собственно и вопрос — как оно работает на самом деле (такая связка)


XMK>boost::shared_ptr можно использовать если передавать функцию из библиотеки, уничтожающую объект, через второй параметр шаблона.

Этого не достаточно. С памятью разные модули могут работать по разному, так что на счетчике слетит. Необходимо так-же и аллокатор передавать (третий параметр)
~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.