Мне было интересно, существуют ли различия между boost::shared_ptr и std::shared_ptr, найденными в стандартном файле <memory>.
Разница между boost:: shared_ptr и std:: shared_ptr из стандартного файла <memory>
Ответ 1
std::shared_ptr - это форма С++ 0x tr1::shared_ptr, а boost boost::shared_ptr должен вести себя одинаково.
Однако std::shared_ptr в реализации, которая соответствует стандарту С++ 0x, должна/иметь более удобное поведение в классе shared_ptr, как описано в следующих ссылках:
shared_ptr- это указатель с подсчетом ссылок, который действует как можно больше, как обычный указатель данных С++. В реализации TR1 не хватало некоторых указательных функций, таких как алиасирование и арифметика указателей, но версия С++ 0x добавит их.
Хотя из быстрого беглого взгляда я не вижу operator+ и подобных арифметических операций в типе shared_ptr.