Мне было интересно, есть ли какие-либо различия между boost::shared_ptr и std::shared_ptr в стандартном файле <memory>.
boost::shared_ptr
std::shared_ptr
<memory>
std::shared_ptr - это C ++ 0x форма tr1::shared_ptr, и boost * boost::shared_ptr должен вести себя так же.
tr1::shared_ptr
Однако std::shared_ptr в реализации, соответствующей C ++ 0xстандарт, должен / может иметь более удобное поведение в классе shared_ptr, как описано в следующих ссылках:
shared_ptr
Различия между различными разновидностями shared_ptr
http://en.wikipedia.org/wiki/C%2B%2B0x#General-purpose_smart_pointers
shared_ptr - это указатель с подсчетом ссылок, который действует в максимально возможной степени, как обычный указатель данных C ++.В реализации TR1 отсутствовали определенные функции указателей, такие как псевдонимы и арифметика указателей, но версия C ++ 0x добавит их.1029 * Несмотря на быстрый беглый взгляд, я не вижу operator+ и подобных арифметических операций для типа shared_ptr.
shared_ptr - это указатель с подсчетом ссылок, который действует в максимально возможной степени, как обычный указатель данных C ++.В реализации TR1 отсутствовали определенные функции указателей, такие как псевдонимы и арифметика указателей, но версия C ++ 0x добавит их.1029 *
Несмотря на быстрый беглый взгляд, я не вижу operator+ и подобных арифметических операций для типа shared_ptr.
operator+