Me preguntaba si hay diferencias entre el boost::shared_ptr
y el std::shared_ptr
que se encuentran en el archivo estándar <memory>
.Diferencia entre boost :: shared_ptr y std :: shared_ptr del archivo estándar <memory>
25
A
Respuesta
19
std::shared_ptr
es la forma C++ 0x de tr1::shared_ptr
, y boost::shared_ptr
de boost debería comportarse de la misma.
Sin embargo, std::shared_ptr
, en una implementación que se ajusta a C++ 0x norma, debería/podría tener un comportamiento más comodidad en la clase shared_ptr
, como se describe en los siguientes enlaces:
El
shared_ptr
es un puntero contado de referencia que actúa tanto como sea posible como un puntero de datos C++ normal. La implementación de TR1 carecía de ciertas funciones de puntero, como aliasing y aritmética de puntero, pero la versión de C++ 0x las agregará.
A pesar de un rápido vistazo rápido, no veo operator+
y similares operaciones aritméticas sobre el tipo shared_ptr
.
Cuestiones relacionadas
- 1. Cómo manejar la evolución de C++ std :: namespace? por ejemplo: std :: tr1 :: shared_ptr vs. std :: shared_ptr vs. boost :: shared_ptr vs. boost :: tr1 :: shared_ptr
- 2. ¿Debo verificar boost :: shared_ptr o std :: shared_ptr antes de usarlo?
- 3. Cómo resolver un conflicto entre boost :: shared_ptr y using std :: shared_ptr?
- 4. impulso :: ptr_container y std :: vector <shared_ptr>
- 5. impulso :: shared_ptr contenedor estándar
- 6. impulso serializar y std :: shared_ptr
- 7. cómo funciona boost :: ~ shared_ptr?
- 8. std :: shared_ptr y inicializador
- 9. shared_ptr en std :: tr1
- 10. ¿Para qué se utiliza shared_ptr (shared_ptr <Y> const & r, T * p) de boost?
- 11. boost :: shared_ptr and Herencia
- 12. Boost shared_ptr desreferencia costo
- 13. Fundición shared_ptr <T> a shared_ptr <void>
- 14. puntero sin formato C++ y std :: shared_ptr
- 15. Clang, std :: shared_ptr y std :: menos/operador <
- 16. Boost asignación Shared_Ptr
- 17. Puntero NULL con boost :: shared_ptr?
- 18. static_cast con boost :: shared_ptr?
- 19. QList y shared_ptr
- 20. Downcasting shared_ptr <Base> to shared_ptr <Derived>?
- 21. Uso de std :: shared_ptr
- 22. converting boost shared_ptr a void * y viceversa
- 23. Boost Python y vectores de shared_ptr
- 24. ¿Debo usar boost :: ptr_vector <T> o vector <boost :: shared_ptr <T>>?
- 25. Personalizar std :: shared_ptr o boost :: shared_ptr para lanzar una excepción en NULL deferencia
- 26. Diferencias entre los diferentes sabores de shared_ptr
- 27. Uso del eliminador personalizado con std :: shared_ptr
- 28. Reforzar :: shared_ptr <T> y boost :: shared_ptr <const T> compartir el recuento de referencias?
- 29. Pasando std :: shared_ptr a Constructores
- 30. ¿Por qué no shared_ptr <A> convierte implícitamente a shared_ptr <A const>?
Esto dependería de su implementación. – robert
@robert ¿Se pueden usar indistintamente? Estoy intentando implementar esto http://stackoverflow.com/questions/3559412/how-to-store-different-data-types-in-one-list-c/3560884#3560884 – Pepe
@ P.R. - 'std :: shared_ptr' es la forma C++ 0x de' tr1 :: shared_ptr', y 'shared_ptr' de boost debe comportarse igual: http://stackoverflow.com/questions/3831572/differences-between-tr1shared- ptr-and-boostshared-ptr – birryree