Reference et retour de fonction par valeur
Bonjour,
Je suis tombé il y a quelques jours sur un blog qui montrait, dans son exemple sur les références le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Retour
{
public:
void g() const {}
};
Retour f() { return Retour(); }
int main(int argc, char *argv[])
{
const Retour &retour = f();
retour.g();
return 0;
} |
Le blog expliquait que l'assignation de la variable de retour de la fonction a une référence permettait de s'alléger d'une copie.
Je ne trouve aucune autre références à cette pratique sur le net et n'ai rien lu non plus qui parle de cela dans les bouquins de Sutter/Meyers qui parlent des bonnes pratiques.
Je me demande donc si cette optimisation est vraiment une bonne pratique, selon vous ?