2009-07-06 20 views
15

¿Hay alguna diferencia entre boost::shared_ptr, std::tr1::shared_ptr y la próxima (en C++0x) std::shared_ptr?Diferencias entre los diferentes sabores de shared_ptr

¿Los puertos de uno a otro tienen algún gasto o son básicamente iguales?

+2

No relacionado directamente con su pregunta, pero unique_ptr de C++ 0x será una mejora en scoped_ptr donde puede hacer cosas como esta: std :: unique_ptr p (new int [10]); –

Respuesta

24

De acuerdo con el sitio web de Boost, la boost::shared_ptr ...

... cumple con la especificación TR1, con la única excepción de que reside en el espacio de nombres en lugar de booststd::tr1.

Según la Wikipedia C++0x página

La aplicación TR1 carecían de ciertas características de puntero como aliasing y el puntero de la aritmética, pero la versión de C++ 0x añadirá éstos.

Si su código funciona con la versión TR1/Boost, debería funcionar con la versión C++ 0x (pero no necesariamente al revés).

Cuestiones relacionadas