Además de todos los beneficios conocidos de usar auto_ptrs, ¿qué son auto_ptr "peores prácticas"?auto_ptr Traps and Pitfalls
Crear contratistas STL de auto_ptrs. auto_ptrs no cumplen el requisito de 'CopyConstructable'. Consulte "STL eficaz" también es Scott Meyer, artículo 8.
Creación auto_ptrs de matrices Por la destrucción, destructor de auto_ptr usos 'Borrar' (y no 'delete []') para destruir el objeto de propiedad, lo que este código rendimientos comportamiento indefinido: auto_ptr api (new int [42]);
No se ocupa de copy-ctor y op = en una clase utilizando miembros auto_ptr. Uno podría ingenuamente pensar que al usar miembros auto_ptr uno no necesita implementar el constructor de copia/operador de asignación para una clase. Sin embargo, incluso un solo miembro auto_ptr 'envenena' una clase (es decir, viola los requisitos 'CopyConstructable' y 'Assignable'). Los objetos de dichas clases se dañarían parcialmente durante la operación de copia/asignación.
¿Hay aún más errores de auto_ptr?
Además, 'auto_ptr' quedará obsoleto en el próximo estándar de C++ (que Sutter espera que sea votado oficialmente después de marzo de 2011 (http://herbsutter.com/2010/08/28/trip-report-august-2010) -iso-c-standards-meeting /), convirtiéndose así en C++ 0B para nosotros recalcitrantes. Si tienes 'unique_ptr', úsalo en su lugar. –