Здравствуйте, dleather, Вы писали:
D>Каюсь... не увидел что Builder C++ 6 boost поддерживает. boost можно потом прикрутить. Сейчас не хочется разбираться (времени и так много ушло на "разбор полетов"). К тому же boost наверняка делает, что-то похожее (создает глобавльный map ссылок на куче).
shared_ptr размещает счётчики не в map'е, а в куче.
Более того, если даже у dll и exe разные менеджеры кучи (т.е. нельзя в одном модуле сделать p=new T() а в другом delete p) — это не мешает.
Дело в том, что счётчик (detail/shared_count.hpp) — это объект с интрузивным удалением. То есть он сам знает, как себя удалять, и обратится именно к той куче, в которой был размещён.