Retour par référence d'attribut de classe
	
	
		Bonjour à tous,
Je m'interroge sur la façon de faire des getter sur des membres de classe.
En imaginant la classe suivante :  
	Code:
	
1 2 3 4 5 6 7 8 9
   | class MaClasse
{
    public:
        MonObjet GetObjet();
        MonObjet& GetObjet2();
 
    private:
        MonObjet mObjet;
} | 
 Mon background de dev java me fait plutôt pencher vers un retour par référence sur un Getter.
Cependant j'ai l'impression qu'en C++ c'est une mauvaise idée car si je fait : 
	Code:
	
1 2 3
   | MonObjet& resultat = o.GetObjet2();
//Ici destruction de MaClasse pour X raisons
resultat.methode(); // Crash ?  | 
 A aucun moment une référence sur un objet va m’empêcher de détruire l'objet initial et par conséquent me mettre quelque peu dans la mouise me trompe je ?
Du coup un retour par copie me semble plus sur , mais cela veux également dire que si l'objet retourné fait 10M en ram , je vais bouffer 10M pour potentiellement pas grand chose le temps que le scope de la copie se termine,  non ?
Bref je suis un peu perdu sur la solution à adopter.
Toujours en se basant sur l'exemple de classe précédent si je fait un setter de ce type : 
	Code:
	
1 2 3 4
   | void Classe::SetObjet(MonObjet obj)
{
    mObjet = obj;
} | 
 Que devient la mémoire précédement allouée par mObjet ? Est ce qu'elle sera libérée une fois la classe complète détruite ou simplement lors de la nouvelle copie ?
Merci :)