O que o auto && nos diz?
Se você ler um código como
auto&& var = foo();
Ondefoo
é qualquer função que retorna pelo valor do tipoT
. Entãovar
é um lvalue de referência de valor de tipo paraT
. Mas o que isso implica paravar
? Isso significa que estamos autorizados a roubar os recursos devar
? Existem situações razoáveis em que você deve usarauto&&
para dizer ao leitor do seu código algo como você faz quando você retornar umunique_ptr<>
dizer que você tem propriedade exclusiva? E o que dizer por exemploT&&
quandoT
é do tipo de aula?
Eu só quero entender, se houver algum outro caso de uso deauto&&
do que aqueles na programação de modelos; como os discutidos nos exemplos deste artigoReferências Universais por Scott Meyers.