Est il autorisé d'éffacer un pointeur alloué ailleur ?
c'est autorisé, mais déconseillé.
La règle usuelle : c'est celui qui alloue qui désalloue
Confier l'allocation et la désallocation à des layers différents du code complique énormément la maintenance (et donc favorise les bugs).
Là, c'est à la lib de fournir les APIs qu'il faut pour (au choix):
- désallouer la mémoire allouée,
- laisser la charge de l'allocation/désallocation à l'appelant
//Do something correspond à copier le pointeur dans un container civilisé (un vecteur) qui lui même est propagé par référence dans tout le code.
possible que j'interprète mal, mais si tu copie des *pointeurs* dans ton vecteur, et que tu désalloues la mémoire pointée, forcément ...
# free ... ou pas ?
Posté par gaaaaaAab . En réponse au message Effacer un pointeur fournit par une librairie externe. Évalué à 3.
c'est autorisé, mais déconseillé.
La règle usuelle : c'est celui qui alloue qui désalloue
Confier l'allocation et la désallocation à des layers différents du code complique énormément la maintenance (et donc favorise les bugs).
Là, c'est à la lib de fournir les APIs qu'il faut pour (au choix):
- désallouer la mémoire allouée,
- laisser la charge de l'allocation/désallocation à l'appelant
//Do something correspond à copier le pointeur dans un container civilisé (un vecteur) qui lui même est propagé par référence dans tout le code.
possible que j'interprète mal, mais si tu copie des *pointeurs* dans ton vecteur, et que tu désalloues la mémoire pointée, forcément ...