Hello,
Disons que vous avez une fabrique qui doit instancier un objet.
Le pointeur renvoyé va avoir plusieurs utilisateurs.
L'appelant de la fabrique devra gérer la durée de vie du pointeur, et tous les autres utilisateurs de ce pointeur auront toujours une durée de vie plus courte.
Quel type de pointeur utilisez-vous ?
J'aurais tendance à ce que la fabrique renvoie un unique_ptr, qui sera détenu par l'appelant, et que les autres utilisateurs y aient simplement accès par un pointeur brut. Mais rien n'empêcherait ces derniers de faire un delete dessus...
La shared_ptr ma chagrine, car la gestion de la durée de vie est partagée, ce qui ne correspond pas au cas d'utilisation.
Le weak_ptr impose de créer un shared_ptr à chaque utilisation.
Que faites-vous, dans ce cas là ?
Partager