Motti Motti - 1 month ago 8
C++ Question

Differences between different flavours of shared_ptr

Are there any differences between

,
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?

Answer

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).

Comments