Nous ajoutons un destructeur qui affiche à la fois le statut interne du compteur mais aussi l'adresse de celui, addresse qui est fourni par le pointeur this
qui retourne l'adresse de la mémoire qui a été allouée lors de la création de l'objet.
Ce pointeur this
pointe soit sur la mémoire se situant sur le tas, mais aussi sur la mémoire allouée sur la pile ou dans la mémoire globale.
struct MyCounter
{
...
~MyCounter()
{
std::cout << "Delete counter: " << this
<< " ( " << count << ", " << max << ")"
<< std::endl;
}
...
};
Lorsque vous exécutez votre programme, chaque fois qu'un compteur est détruit, soit par sortie de la portée ou par appel de l'opérateur delete
, le message définit dans le destructeur ~MyCounter
s'affiche et vous indique quel compteur a été détruit et aussi dans quel ordre les objets ont été détruits.