-
Suppression de variables
Bonjour,
dans une m�thode est-il n�cessaire de supprimer les variables manuellement avec "delete" ou sont-elles supprim�es automatiquement lorsque le syst�me d�termine que l�objet n�est plus accessible ?
3 cas de figure :
Code:
array< Byte >^ mybytes = gcnew array< Byte >(size);
Code:
uint8_t* buf = mybytes.bytes;
Code:
const uint8_t* test = "test";
Merci
-
Bonjour,
La r�gle est simple : on doit utiliser l'op�rateur delete sur les objets allou�s avec l'op�rateur new. Et on doit utiliser l'operateur delete[] sur les objets allou�s avec l'op�rateur new[taille].
Et comme utiliser new et new[] est une tr�s tr�s mauvaise id�e, tu peux directement "oublier" delete.
Quant � tes 3 exemples:
- le premier est allou� par le garbage collector, il est sous la responsabilit� du garbage collector qui le d�truira quand �a lui chante.
- le second est un pointeur qui d�signe une zone sous la responsabilit� du garbage collector. C'est � �viter car est directement li� a un objet qui peut "�voluer" sans pr�venir.
- le troisi�me pointe sur un zone garantie valide pendant toute la dur�e du programme.
En aucun cas on ne doit utiliser delete sur ces 3 objets.
-