Bonjour,
j'ai récemment choisi de modifier le code d'un de mes projets en remplaçant un pointeur sur une donnée qui tient une place importante dedans, par un pointeur intelligent, à force d'entendre que les pointeurs bruts sont à éviter tant que possible, au profit des smarts pointer, pour plus de sécurité (à défaut de l'avoir entendu, j'en ai l'impression).
Plus concrètement :
- j'ai plusieurs objets (disons 5) dans un vector
- un pointeur qui pointe tour à tour sur ces 5 objets
Du coup :
- shared_ptr : inadapté (qu'un seul pointeur pour plusieurs objets)
- unique_ptr : inadapté (sauf si on peut éviter qu'il ne détruise mes objets à chaque (ré)affectation)
- weak_ptr : je ne vois pas trop sa particularité mais je le penses inadapté
- * :
au final ça me parait être le plus adapté, mais on entends souvent parler du manque de sureté de sa manipulation alors bon...
qu'en pensez-vous ?
Merci.
Partager