cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008
-
26 janv. 2007 à 17:04
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008
-
27 janv. 2007 à 08:11
Je débute en C# et je travaille surtout en C++
En C# pas besoin de libérer la mémoire OK, mais si je passe en parametre à une fonction un pointeur sur un tableau de byte initialisé à Null, j'alloue de la mémoire dans la fonction est ce que le run time ne va pas me libérer la mémoire en sortie de fonction ? J'ai fais quelques tests a premiere vue non, mais je voudrais etre sur.
exemple de ce que j'ai fais:
main
{
Byte[] Tableau=null;
MaFonction(ref Tableau);
}
// Ma memoire sera t elle libérée en fin de fonction MaFonction ou fin de fonction Main ?
// Le Runtime libere la mémoire lorqu'il a le temps ou si nécessaire donc mes tests n'ont peut etre pas validé ma question.
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 26 janv. 2007 à 17:16
Tant que ta mémoire sera référencée, elle ne sera pas libérée. Autrement dit, si ta variable Tableau est la seule à pointer sur ce bloc, la durée de vie du bloc sera la même que celle de 'Tableau".
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 27 janv. 2007 à 02:13
Salut, il faut abandonner tes reflexes C++ inutile de passer le tableau avec "ref" les tableaux sont déja des références, là tu passe une sorte de "référence sur référence". Nikoui à déja répondu et effectivement le tableau ne sera pas libéré avant la fin de Main car tu as toujours une référence valide qui pointe sur la zone mémoire du tableau.
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 27 janv. 2007 à 08:11
Merci Nikoui
Je risque de garder mes reflexes C++ pendant un moment, la difficulté dans ce nouveau language c'est le manque de pointeur, je ne sais pas par qu'elle bout je dois attraper les object !!!
Sephiro