17

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?

Deduplicator
  • 44,692
  • 7
  • 66
  • 118
Motti
  • 110,860
  • 49
  • 189
  • 262
  • 2
    Not directly related to your question, but c++0x's unique_ptr will be an improvement on scoped_ptr where you can do things like this: std::unique_ptr p(new int[10]); – Evan Teran Jul 06 '09 at 17:09

1 Answers1

29

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

Benjamin Titmus
  • 391
  • 3
  • 6