Bonjour, cela fait de très nombreuses fois que je lis que lorsqu'il y a une erreur irrécupérable, il faut
1) faire remonter l'erreur au main()
2) libérer toute la mémoire allouée
3) quitter le main.
Ma question est : existe-t-il une manière propre pour libérer toute la mémoire et ce, à n'importe quel moment (enfin dès qu'il y a une erreur) ?
J'envisage de faire une structure du genre
et dès que je crée une structure dans mon main, je immédiatement après
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 typedef struct { field1 * f1; ... field50 * f50; } Memory;
puis dès qu'il y a une erreur, faire "tout simplement" un DestroyMemory().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Memory -> f48 = f48; /* copie de pointeur */
Est-ce une bonne idée de fonctionner ainsi ?
Partager