no save
Assistance
Achat
News

Forum | programmation
operator et pointeur [C++]
Char Snipeur, le jeu. 25 janv. 2007 à 08:54:36
Salut.
Après des tests, et vue que j'ai apris un peu mieux le C++.
Le mieux est d'utiliser :
Matrix operator*(Matrix& A, Matrix& B);
cette fonction est défini en dehors de la class, c'est une surcharge de l'opérateur binaire '*'
J'ai enlever le '&' dans le retour de la fonction, car c'est la valeur qui nous intéresse, il n'y a aucune utilité de modifier A*B (A*B=6 n'a pas de sens en affectation) J'ai mis des '&' dans les paramètres de la fonctions pour passer les références des objets, car cela évite les erreurs de recopie et gagne du temps de recopiage des objets.
daccord sur la fonction membre 'operator*=' elle est parfaite.
en revanche la fonction 'matrix& operator*(matrix& b)' génère toujours des fuites de mémoire car la matrice resultat n'est jamais détruite. Dans ce cas, il est possible (3 matrice A,B et C) de faire :
A*B=C, resultat prend la valeur de C par l'opérateur '=' mais A et B ne sont pas modifier. et à chaque fois que tu fera A*B tu créra une nouvelle variable resultat .

PrécédentBenur29
janv. 07
Benur29
janv. 07
Suivant
REPONSES
blurk
mai 04
Char Snipeur
mai 04
marvirouge
mai 04
marvinrouge
mai 04
marvinrouge
mai 04
Benur29
janv. 07
Char Snipeur
janv. 07
Benur29
janv. 07
Char Snipeur
janv. 07
mamiemando
janv. 07
Version Web
Réalisé par RedShift
no save