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
La question rentre vraiment dans le titre: je suis curieux de savoir quelle est la raison technique de cette différence, mais aussi la raison? std::shared_ptr<void> sharedToVoid; // legal; std::unique_ptr<void> uniqueToVoid; // ill-formed;
Disons que j'ai une classe avec une méthode qui renvoie un shared_ptr. Quels sont les avantages et inconvénients possibles du renvoi par référence ou par valeur? Deux indices possibles: Destruction précoce des objets. Si je retourne la shared_ptrréférence by (const), le compteur de référence n'est pas incrémenté, donc j'encours le …
Quelle est la meilleure méthode pour passer un shared_ptrd'un type dérivé à une fonction qui prend un shared_ptrd'un type de base? Je passe généralement shared_ptrs par référence pour éviter une copie inutile: int foo(const shared_ptr<bar>& ptr); mais cela ne fonctionne pas si j'essaye de faire quelque chose comme int foo(const …
J'ai entendu auto_ptrdire qu'il était obsolète dans C ++ 11. Quelle est la raison pour ça? J'aimerais aussi connaître la différence entre auto_ptret shared_ptr.
M. Lidström et moi nous sommes disputés :) L'affirmation de M. Lidström est qu'une construction shared_ptr<Base> p(new Derived);ne nécessite pas que Base ait un destructeur virtuel: Armen Tsirunyan : "Vraiment? Le shared_ptr nettoiera-t-il correctement? Pourriez-vous s'il vous plaît dans ce cas démontrer comment cet effet pourrait être mis en œuvre?" …
C'est un peu une question en deux parties, tout sur l'atomicité de std::shared_ptr: 1. Autant que je sache, std::shared_ptrc'est le seul pointeur intelligent <memory>qui soit atomique. Je me demande s'il existe une version non atomique de std::shared_ptrdisponible (je ne vois rien dedans <memory>, donc je suis également ouvert aux suggestions …
Je n'ai pas l'habitude de l'utiliser weak_ptret je suis confronté à une situation assez déroutante. J'utilise Intel XE 2019 Composer update 5 ( package 2019.5.281 ) en combinaison avec Visual Studio 2019 ver. 16.2.5 . Je compile en 64 bits. J'utilise le standard C ++ 17 . Voici le code …
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.