¿Qué nos dice auto &&?
Si lees código como
auto&& var = foo();
dóndefoo
es cualquier función que retorne por valor de tipoT
. Entoncesvar
es un lvalue de tipo rvalue referencia aT
. Pero, ¿qué implica esto paravar
? ¿Significa que se nos permite robar los recursos devar
? ¿Hay situaciones razonables en las que deberías usarauto&&
para decirle al lector de su código algo como lo hace cuando devuelve ununique_ptr<>
¿Para decirte que tienes propiedad exclusiva? ¿Y qué hay de por ejemploT&&
cuandoT
es de clase tipo?
Solo quiero entender, si hay otros casos de uso deauto&&
que aquellos en la programación de plantillas; como los discutidos en los ejemplos de este artículo.Referencias universales por Scott Meyers.