#define FLOU_FILTER [[1,1,1][1,1,1][1,1,1]]

#define FLOU_FILTER [[1,1,1][1,1,1][1,1,1]] - C++ - Programmation

Marsh Posté le 26-04-2005 à 14:40:26    

Bonjour,
 
Je cherche à definir des matrices avec #define que je pourrais appeler quand je veux. Quelles sont les possibilités qui me sont proposées ?
 
J'ai essayé ceci :
#define FLOU_FILTER [[1,1,1][1,1,1][1,1,1]]
 
Ca ne fonctionne pas.
 
Merci.

Reply

Marsh Posté le 26-04-2005 à 14:40:26   

Reply

Marsh Posté le 26-04-2005 à 14:54:40    

const float FlouFilter[3][3] =  
{  
   1, 1, 1,  
   1, 1, 1,  
   1, 1, 1  
};

Reply

Marsh Posté le 26-04-2005 à 15:07:25    

Puis-je considerer FlouFilter comme un float** ?

Reply

Marsh Posté le 26-04-2005 à 15:11:23    

absolument pas, les données sont continues en memoire (ordonnées en ligne), ne confonds pas tableau et pointeur

Reply

Marsh Posté le 26-04-2005 à 15:23:33    

FlouFilter contient bien l'adresse de FlouFilter[0] ! On peut donc le considerer comme un pointeur, non ?

Reply

Marsh Posté le 26-04-2005 à 15:24:49    

ou plutot FluoFilter contient l'adresse de FlouFilter[0][0], du premier element en fait ! Ca j'en suis quasiment certain.

Reply

Marsh Posté le 26-04-2005 à 15:28:44    

l'identifiant FlouFilter est l'adresse de son premier elements (qui peut etre contenu par un pointeur de meme type float[3]), les tableaux multi dimensionnelle sont des tableaux de tableaux et non des tableaux de pointeurs

Reply

Marsh Posté le 26-04-2005 à 15:44:29    

bajax a écrit :

ou plutot FluoFilter contient l'adresse de FlouFilter[0][0], du premier element en fait ! Ca j'en suis quasiment certain.


fauxÒ.  
 
si
 
"T tab[N]" est un tableau, alors tab est convertible implicitement en T* pointant vers &tab[0]
 
donc FluoFilter est convertible en pointeur de float[3] et non pointeur de pointer de float. Étant donné la disposition des éléments de FluoFilter, pour obtenur ce que tu veux, &FlouFilter[0][0] te donne un float** qui pointe sur ce qui t'intéresse.


Message édité par Taz le 26-04-2005 à 16:02:02
Reply

Marsh Posté le 26-04-2005 à 15:46:38    

Comment puis-je donc envoyer par adresse ma matrice dans une methode de ma classe ? J'aimerai envoyer FlouFilter ! C quoi son type ?
 
Tu me perturbes qq peu, je voyais un tableau comme un pointeur et un tableau multidimaensionnel commme un tableau de pointeur !

Reply

Marsh Posté le 26-04-2005 à 15:54:13    

on te l'a dis, const float (*p)[3] = FlouFilter

Reply

Marsh Posté le 26-04-2005 à 15:54:13   

Reply

Marsh Posté le 26-04-2005 à 16:02:24    

ouaip

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed