Differences between different flavours of shared_ptr
boost, c++, c++11, shared-ptr, tr1
Solution
According to the Boost website, the `boost::shared_ptr`...
...conforms to the TR1 specification, with the only exception that it resides in namespace `boost` instead of `std::tr1`.
According to the Wikipedia C++0x page
The TR1 implementation lacked certain pointer features such as aliasing and pointer arithmetic, but the C++0x version will add these.
If your code works with the TR1/Boost version, it should work with the C++0x version (but not necessarily vice versa).
Problem
Are there any differences between `boost::shared_ptr`, `std::tr1::shared_ptr` and the upcoming (in `C++0x`) `std::shared_ptr`? Will porting from one to another have any overhead or are they basically the same?