66 votes

Création d’shared_ptr à partir d’un pointeur brut

J’ai un pointeur vers un objet. Je voudrais le stocker dans deux conteneurs qui ont tous deux la propriété. Je pense donc que je serais bon d’en faire une shared_ptr de C ++ 0x. Comment convertir un pointeur brut en shared_pointer ?

merci

8voto

Keith Points 5371

Vous pouvez utiliser une variété de façons, mais reset() serait bon:

Et pour résoudre le problème d’avoir deux cartes se réfèrent à la même shared_ptr, nous pouvons avoir:

Notez que l’astuce en général pour éviter une double suppression est d’essayer d’éviter les pointeurs bruts du tout. Évitez donc :

mais placez plutôt le nouvel objet de tas directement dans un shared_ptr.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X