Здравствуйте, XuMuK, Вы писали:
XMK>Здравствуйте, Desniza, Вы писали:
D>>Всем привет. D>>Возник такой вот вопрос над которым думаю уже некоторое время. D>>Как ведет себя к примеру шаред поинтер в связке exe<->dll D>>к примеру если у нас в библиотеке объявлен смарт поинтер и класс, создается обхект и передается в приложение, либа больше не имеет указателей на этот смарт поинтер D>>и следовательно когда основному приложению он будет не нужен — объект удалится. D>>По сути получается алоцировали объект в DLL а грохаем в EXE, что не правильно изначально.
D>>В этом собственно и вопрос — как оно работает на самом деле (такая связка)
XMK>boost::shared_ptr можно использовать если передавать функцию из библиотеки, уничтожающую объект, через второй параметр шаблона.
Этого не достаточно. С памятью разные модули могут работать по разному, так что на счетчике слетит. Необходимо так-же и аллокатор передавать (третий параметр)