A noter un repproche que je fais aux pointeurs intelligents standard: ils ne savent gérer que la mémoire, alors que ce n'est qu'une seule des ressources que l'on peut manipuler (alors qu'un descripteur de fichier UNIX est un int, par exemple)
Justement, le deleter sert à choisir comment on restitue la ressource, et de fait on peut employer les pointeurs intelligent du C++11 (et boostien) sur n'importe quel type de ressources.
[^] # Re: Donc pour résumer...
Posté par lmg HS (site web personnel) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 2.
Justement, le deleter sert à choisir comment on restitue la ressource, et de fait on peut employer les pointeurs intelligent du C++11 (et boostien) sur n'importe quel type de ressources.
Cela manque d'un chouilla de surcouche pour une utilisation aisée. Reste que c'est un cas de figure prévu.
On déporte ça à de l'analyse statique, ou aux sanitizers.
Pratiquement tous les algos sont neutres relativement aux exceptions.