jazz2
Messages postés8Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention26 juin 2007
-
22 juin 2007 à 12:53
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009
-
27 juin 2007 à 08:39
Si les pointeurs sont l'unique façon de passer un tableau en paramètre de fonction, alors comment passer un tableau comme paramètre de fonction, de sorte que seulement dans cette fonction, il ait été modifié et qu'au sortir de la fonction, plus de modifs sur ce tableau soient observables ?
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 22 juin 2007 à 13:29
en passant tu tableau en parametes, tu as un acces direct au élements de ce tableau. si tu modifies le tableau les modif seront visibles apres la sortie de la fonction.si tu ne veux pas que ce soit le cas, il faut travailler sur une copie du tableau.
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010 25 juin 2007 à 00:41
comme dit plus haut le seul moyen de e pas modifier ton tableau est de travailler sur une copie.L'encapsuler dans une classe revient au même que de copier le tableau car au passage du parametre le compilateur va appeler le construteur de copie par défaut. C'est a dire une bonne vielle copie du tableau.
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 27 juin 2007 à 08:39
Hello
Tu peut toujours essayer de copier ton tableau en "dur" dans ta fonction. Si tu connais a l'avance le nombre de case de ton tableau, tu peut écrire ce qui suit :
int iTab[10]; // ton tableau a copier
[...] // blabla
void MyFunc(int iTemp[10])
{
[...] // code
}
Tu peut même essayer de faire un define dessus afin d'avoir un tableau presque dynamique (j'ai dit presque. Sa changera juste a la compilation, pas en cours de route ;-) )
#define TAB_LEN 10
int iTab[TAB_LEN]; // ton tableau a copier
[...] // blabla