IX - Pointeurs Intelligents
1. Le pointeur intelligent
Les pointeurs intelligents sont des objets spéciaux concus pour agir comme des pointeurs ordinaires mais avec en plus la capacité de gérer les ressources sur lesquelles ils pointent. En C++, il arrive qu'il soit difficile de déterminer à qui revient la responsabilité de désallouer un bloc mémoire allouer dynamiquement. Avec les pointeurs intelligents, cette responsabilité revient à ces derniers.
Les pointeurs intelligents doivent inclure les trois éléments suivants :
1. Construction et destruction2. Copie et affectation
3. Déréférencement
3 stratégies possibles :
- Pointeurs intelligents à propriété exclusive
- Pointeurs intelligents à propriétaire unique avec références multiples
- Pointeurs intelligents avec comptage de références