función que modifica el objeto apuntado por std :: unique_ptr
-
29-10-2019 - |
Pregunta
En algún lugar de mi código tengo un local std::unique_ptr<T>
. Necesito hacer cosas con el objeto apuntado, y uso una función para eso:
std::unique_ptr<T> some_function( std::unique_ptr<T> &t )
{
// do stuff
return t;
}
Llamo a la función así:
std::unique_ptr<T> some_T_ptr( new T(/*args*/) );
vector_of_finalized_Ts.push_back( std::move(some_function(std::move(some_T_ptr))));
Ahora me pregunto, ¿hay una mejor manera de obtener la funcionalidad necesaria? Parece que dos movimientos son bastante superfluos y potencialmente peligrosos. Tengo un código de manejo de errores que no estoy mostrando aquí, pero eso no viene al caso.
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow