Le problème, c'est qu'il y a un conflit entre cette philosophie et celle comme quoi si une fonction prend une référence en paramètre, on s'attend à ce que la durée de vie minimale de l'objet soit celle de la fonction, pas plus. Personnellement, mon interprétation, c'est "Pour une fonction autre qu'un constructeur, pas de souci; pour un constructeur, vérifier la doc."
En règle générale, j'évite les objets avec membre référence, sauf dans des cas d'objets destinés à être utilisés en Resource Release Is Finalization (RRIF): Un verrou sur un objet de synchronisation, un objet pour sauvegarder la valeur de la variable référencée et la restaurer au moment de la destruction, etc.
Partager