Различия между разными вариантами shared_ptr

Существуют ли различия между boost::shared_ptr, std::tr1::shared_ptr и предстоящее (в C++0x) std::shared_ptr?

Будет ли перенос с одного на другой иметь какие-либо накладные расходы или они в основном одинаковы?


person Motti    schedule 06.07.2009    source источник
comment
Не имеет прямого отношения к вашему вопросу, но С++ 0x unique_ptr будет улучшением scoped_ptr, где вы можете делать такие вещи, как это: std::unique_ptr‹int[]›p(new int[10]);   -  person Evan Teran    schedule 06.07.2009


Ответы (1)


Согласно веб-сайту Boost, boost::shared_ptr...

...соответствует спецификации TR1, за тем единственным исключением, что он находится в пространстве имен boost вместо std::tr1.

Согласно странице Википедии C++0x

В реализации TR1 отсутствовали некоторые функции указателей, такие как псевдонимы и арифметика указателей, но в версии C++0x они будут добавлены.

Если ваш код работает с версией TR1/Boost, он должен работать и с версией C++0x (но не обязательно наоборот).

person Benjamin Titmus    schedule 06.07.2009