Повысить сериализацию - Сериализация std :: tr1 :: shared_ptr? - PullRequest
2 голосов
/ 04 ноября 2010

Boost :: Serialization имеет встроенную поддержку boost::shared_ptr<>.

Есть ли способ использовать эту поддержку и для std::tr1::shared_ptr<>?*

1 Ответ

3 голосов
/ 04 ноября 2010

Приведение не будет возможно, поскольку реализации различаются.Также создание экземпляра одного типа shared_ptr со значением, возвращаемым из get () для другого типа shared_ptr, не будет работать правильно, так как счетчики ссылок будут равны 0 в разных точках вашего кода, что приведет к удалению объекта до последнегоиспользовать это.Я не эксперт по boost :: serialization, но, поскольку интерфейсы std :: tr1 :: shared_ptr <> и boost :: shared_ptr <> практически идентичны, очень вероятно, что вы можете просто клонировать код сериализации / десериализации boost:: shared_ptr <> и только должны заменить пространство имен shared_ptr.

...