Questions marquées «smart-pointers»

Un type de données abstrait qui simule un pointeur tout en fournissant des fonctionnalités supplémentaires, telles que le garbage collection automatique ou la vérification des limites



4
Quel type de pointeur dois-je utiliser quand?
Ok, donc la dernière fois que j'ai écrit C ++ pour gagner ma vie, std::auto_ptrc'était toute la lib std disponible, et boost::shared_ptrc'était à la mode. Je n'ai jamais vraiment examiné les autres types de pointeurs intelligents fournis. Je comprends que C ++ 11 fournit maintenant certains des types de boost …

4
explication des pointeurs intelligents (boost)
Quelle est la différence entre l'ensemble de pointeurs suivant? Quand utilisez-vous chaque pointeur dans le code de production, le cas échéant? Des exemples seraient appréciés! scoped_ptr shared_ptr weak_ptr intrusive_ptr Utilisez-vous le boost dans le code de production?

2
Pourquoi ne puis-je pas repousser un unique_ptr dans un vecteur?
Quel est le problème avec ce programme? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } L'erreur: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …


4
std :: auto_ptr vers std :: unique_ptr
Avec l'arrivée du nouveau standard (et des pièces déjà disponibles dans certains compilateurs), le nouveau type std::unique_ptrest censé remplacer std::auto_ptr. Leur utilisation se chevauche-t-elle exactement (pour que je puisse faire une recherche / remplacement globale sur mon code (non pas que je le ferais, mais si je le faisais)) ou …



6
Pourquoi devrais-je std :: déplacer un std :: shared_ptr?
J'ai parcouru le code source de Clang et j'ai trouvé cet extrait: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Pourquoi voudrais-je std::moveun std::shared_ptr? Y a-t-il un point de transfert de propriété sur une ressource partagée? Pourquoi ne ferais-je pas ça à la place? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { …


3
Quelles implémentations C ++ Smart Pointer sont disponibles?
Comparaisons, avantages, inconvénients et quand les utiliser? Il s'agit d'un spin-off d'un thread de ramassage des ordures où ce que je pensais être une réponse simple a généré de nombreux commentaires sur certaines implémentations de pointeurs intelligents spécifiques, il semblait donc utile de commencer un nouveau message. En fin de …


4
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 téléchargé des boosts et …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.