CLASS MATRICE EFFICACE

turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 - 21 juil. 2008 à 01:09
Menuki Messages postés 13 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 11 août 2008 - 11 août 2008 à 12:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47364-class-matrice-efficace

turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
21 juil. 2008 à 01:09
Une classe matrice efficace sans un seul paramètre ni une seule méthode const !!! Des doubles boucles pour tout les opérateurs, dans lesquels on ne retrouve pourtant ni '+' , '-' ou '/'. Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double. De plus matrices limitées a 2 dimensions. Enfin coté pratique un petit operator() aurait ete le bien venu !
NairodDorian Messages postés 130 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 18 août 2008
21 juil. 2008 à 09:31
"Une classe matrice efficace sans un seul paramètre ni une seule méthode const"
Il y a des paramètres à passer à mes méthodes...
Elle est pas marqué "retour fonction(...) const" oh mon dieu c'est la catastrophe ! Sache que ça ne change pas grand chose.
"Des doubles boucles pour tout les opérateurs" Faux.
"On ne retrouve pourtant ni '+' , '-' ou '/'". La surcharge de l'opérateur '+' existe. Quand à l'opérateur '/', peut-être que j'ai loupé qqch mais je ne crois pas qu'on puisse divisé une matrice par une autre ni même par un réel.
"Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double". Fort exact mais tu voulais mettre quoi d'autre des floats, des int peut-être lol.
"De plus matrices limitées a 2 dimensions" Chez moi une matrice c'est m lignes, n colonnes. (m,n) Je sais pas où tu vas cherché des matrices à plus de deux dimensions.
"Enfin coté pratique un petit operator() aurait ete le bien venu" justement il y a [].

Bref du grand nawak.
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
21 juil. 2008 à 09:53
"Il y a des paramètres à passer à mes méthodes... "
????
ce que je veux dire c que par exemple

double Matrix::_getvalue(int line, int column) {
return m_mat[line * m_n + column];
}

devrait etre :

const double Matrix::_getvalue(const int & line, const int & column) const {
return m_mat[line * m_n + column];
}

D'ailleurs que se passe-t-il a ton avis si je fais un _getvalue(-1,-1) ou meme avec une valeur or limite ?

"La surcharge de l'opérateur '+' existe. Quand à l'opérateur '/', peut-être que j'ai loupé qqch mais je ne crois pas qu'on puisse divisé une matrice par une autre ni même par un réel. "
A moins que j'ai raté qqchose les operateurs que j'ai cité ne sont pas présent soit il y'a += mais ce n'est pas la meme chose : a=b+c est impossible. A moins que j'ai loupé aussi qqchose tu peux tres bien divisé une matrice par un réél ou par une autre matrice.

""Je ne parle même pas de la templatisation inexistante qui aurait pourtant permit de faire des matrices d'autres choses que de double". Fort exact mais tu voulais mettre quoi d'autre des floats, des int peut-être lol. "
Ben oui justement voir meme de bool. Pourquoi alors reserver et faire des calculs en double avec seulement des 0 et des 1 ?

"Chez moi une matrice c'est m lignes, n colonnes. (m,n) Je sais pas où tu vas cherché des matrices à plus de deux dimensions. "
Si tu veux stocker une image RGB par exemple tu seras content d'avoir 3 dimensions.

""Enfin coté pratique un petit operator() aurait ete le bien venu" justement il y a []. "
waouhh si tu a une matrice A et que tu veuille acceder à l'element (2,3) c'est quand meme vachement plus intuitif de faire A(2,3) que A[3*A._line()+2] ou encore A._getvalue(2,3)
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
21 juil. 2008 à 09:56
Au fait ou sont les operateurs de copie et l'operator= ?
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 24
22 juil. 2008 à 22:33
...
Rejoignez-nous