Подтвердить что ты не робот

Разница между boost:: shared_ptr и std:: shared_ptr из стандартного файла <memory>

Мне было интересно, существуют ли различия между boost::shared_ptr и std::shared_ptr, найденными в стандартном файле <memory>.

4b9b3361

Ответ 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.