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
std::unique_ptr prend en charge les tableaux, par exemple: std::unique_ptr<int[]> p(new int[10]); mais est-ce nécessaire? il est probablement plus pratique à utiliser std::vectorou std::array. Trouvez-vous une utilité pour cette construction?
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 …
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?
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 …
En pratique avec C ++, qu'est-ce que RAII , quels sont les pointeurs intelligents , comment sont-ils mis en œuvre dans un programme et quels sont les avantages d'utiliser RAII avec des pointeurs intelligents?
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 …
J'ai du mal à comprendre l'utilisation des pointeurs intelligents en tant que membres de classe dans C ++ 11. J'ai beaucoup lu sur les pointeurs intelligents et je pense comprendre comment unique_ptret shared_ptr/ weak_ptrfonctionne en général. Ce que je ne comprends pas, c'est l'usage réel. Il semble que tout le …
J'ai lu dans quelques articles que les pointeurs bruts ne devraient presque jamais être utilisés. Au lieu de cela, ils doivent toujours être enveloppés dans des pointeurs intelligents, qu'il s'agisse de pointeurs étendus ou partagés. Cependant, j'ai remarqué que les frameworks comme Qt, wxWidgets et les bibliothèques comme Boost ne …
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) { …
At std::make_unique- il des avantages d'efficacité comme std::make_shared? Par rapport à la construction manuelle std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
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 …
Il est difficile de dire ce qui est demandé ici. Cette question est ambiguë, vague, incomplète, trop large ou rhétorique et ne peut être raisonnablement répondu dans sa forme actuelle. Pour obtenir de l'aide pour clarifier cette question afin qu'elle puisse être rouverte, visitez le centre d'aide . Fermé il …
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 …
Quelle est la surcharge des pointeurs intelligents par rapport aux pointeurs normaux en C ++ 11? En d'autres termes, mon code sera-t-il plus lent si j'utilise des pointeurs intelligents, et si oui, combien plus lent? Plus précisément, je pose des questions sur le C ++ 11 std::shared_ptret std::unique_ptr. De toute …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.