Pointeur intelligentEn informatique, un pointeur intelligent (en anglais smart pointer) est un type abstrait de données qui simule le comportement d'un pointeur en y adjoignant des fonctionnalités telles que la libération automatique de la mémoire allouée ou la vérification des bornes. La gestion manuelle de la mémoire dans les langages utilisant les pointeurs est une source courante de bugs, en particulier de fuites de mémoire ou de plantages. Les pointeurs intelligents diminuent ce risque en rendant automatique la libération des ressources : quand le dernier pointeur vers un objet est détruit, par exemple parce qu'il sort de portée, l'objet pointé est détruit simultanément. Cela peut être implémenté par exemple avec le décompte de références. L'utilisation d'un ramasse-miette permet de se passer de pointeurs intelligents. En C++En C++, les pointeurs intelligents sont implémentés à l'aide de templates qui imitent le comportement des pointeurs grâce à la surcharge des opérateurs, tout en fournissant des algorithmes de gestion mémoire. L'utilisation des pointeurs intelligents permet d'exprimer au programmeur comment gérer les objets retournés par une fonction.
Les Les
|