JiPe38
March 5, 2021, 9:44am
1
Tout est dans le titre. Exemple :
class Test {
private :
char buffer [80] ;
public :
Test () {;}
} ;
Test * monTest ;
void setup () {
Serial.begin(115200);
while (!Serial) ;
monTest = new Test () ;
}
void loop () {
if (monTest != NULL) delete monTest ;
}
On n'a pas le droit de créer l'objet dans le setup et de le détruire dans le loop ?
kamill
March 5, 2021, 9:54am
2
Bonjour,
Si on a le droit. Seulement comme tu fais tu vas détruire l'objet plusieurs fois (c'est à dire un objet qui n'existe plus) car monTest garde sa valeur.
Souvent on fait:
if (monTest != NULL)
{
delete monTest ;
monTest=NULL;
}
JiPe38
March 5, 2021, 10:13am
3
Ah OK, le "delete" ne remet pas le pointeur à NULL. Habitude de java... Merci.
biggil
March 5, 2021, 5:01pm
4
Il est inutile de tester si le pointeur est NULL avant d'invoquer delete.
delete sur un pointeur NULL ne fait rien.
system
Closed
July 3, 2021, 5:01pm
5
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.