Bonjour à tous,

Je suis face à un problème que je ne parviens pas à résoudre.
Soit la ligne suivante, où up et tangage sont des vecteurs (au sens géométrique, pas au sens de structure de stockage) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
      tangage->add(up->times(0.1));
La fonction add(Vecteur*) ajoute l'argument à son receveur, et la fonction times(double) renvoie le receveur multiplié par le scalaire passé en argument.

La méthode times(double) crée un nouveau Vecteur, il y a donc un toto=new Vecteur(blabla), et lui donne comme coordonnées les valeurs qui vont bien.
Est-ce que cet appel à new Vecteur(blabla) est à l'origine d'une fuite de mémoire ?

Je me pose la question car je ne vois pas à quel moment le resultat de up->times(0.1) sera détruit.

Si il y a effectuvement une fuite de mémoire, comment faut-il faire ?
Il faut avouer que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Vecteur* toto = up->times(0.1);
tangage->add(toto);
delete toto;
est un peu lourd, et encore, il n'y a qu'un niveau d'imbrication.