Разница между boost :: shared_ptr и std :: shared_ptr из стандартного файла <memory> - PullRequest
26 голосов
/ 04 февраля 2011

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

1 Ответ

19 голосов
/ 04 февраля 2011

std::shared_ptr - это C ++ 0x форма tr1::shared_ptr, и boost * boost::shared_ptr должен вести себя так же.

Однако std::shared_ptr в реализации, соответствующей C ++ 0xстандарт, должен / может иметь более удобное поведение в классе shared_ptr, как описано в следующих ссылках:

shared_ptr - это указатель с подсчетом ссылок, который действует в максимально возможной степени, как обычный указатель данных C ++.В реализации TR1 отсутствовали определенные функции указателей, такие как псевдонимы и арифметика указателей, но версия C ++ 0x добавит их.1029 *

Несмотря на быстрый беглый взгляд, я не вижу operator+ и подобных арифметических операций для типа shared_ptr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...