[Résolu] "New Objet" dans setup(), "delete Objet" dans loop()

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 ?

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;
  }

Ah OK, le "delete" ne remet pas le pointeur à NULL. Habitude de java... Merci.

Il est inutile de tester si le pointeur est NULL avant d'invoquer delete.
delete sur un pointeur NULL ne fait rien.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.