Questions marquées «shared-ptr»

Classe de pointeur intelligent comptée par référence implémentant la propriété partagée

172
shared_ptr à un tableau: faut-il l'utiliser?

Juste une petite question concernant shared_ptr. Est-ce une bonne pratique d'utiliser le shared_ptrpointage vers un tableau? Par exemple, shared_ptr<int> sp(new int[10]); Sinon, pourquoi pas? L'une des raisons dont je suis déjà conscient est que l'on ne peut pas augmenter / décrémenter le...

129
Pourquoi std :: shared_ptr <void> fonctionne-t-il

J'ai trouvé du code en utilisant std :: shared_ptr pour effectuer un nettoyage arbitraire à l'arrêt. Au début, je pensais que ce code ne pouvait pas fonctionner, mais j'ai ensuite essayé ce qui suit: #include <memory> #include <iostream> #include <vector> class test { public:...

106
std :: shared_ptr sécurité des threads expliquée

Je lis http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html et certains problèmes de sécurité des threads ne sont toujours pas clairs pour moi: Standard garantit que le comptage de références est géré thread-safe et qu'il est indépendant de la plateforme, non? Problème similaire - la...

103
Où est shared_ptr?

Je suis tellement frustré en ce moment après plusieurs heures à essayer de trouver où se trouve shared_ptr. Aucun des exemples que je vois ne montre le code complet pour inclure les en-têtes pour shared_ptr(et le travail). Disant simplement std, tr1et <memory>n'aide pas du tout! J'ai...

101
std :: shared_ptr de ceci

J'essaie actuellement d'apprendre à utiliser des pointeurs intelligents. Cependant, en faisant quelques expériences, j'ai découvert la situation suivante pour laquelle je ne pouvais pas trouver de solution satisfaisante: Imaginez que vous ayez un objet de classe A étant parent d'un objet de classe...

88
Passer des pointeurs partagés comme arguments

Si je déclare un objet enveloppé dans un pointeur partagé: std::shared_ptr<myClass> myClassObject(new myClass()); alors j'ai voulu le passer comme argument à une méthode: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) {...