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
Passer shared_ptr <Derived> comme shared_ptr <Base>
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&lt;bar&gt;&amp; ptr); mais cela ne fonctionne pas si j'essaye de faire quelque chose comme int foo(const …


3
shared_ptr magic :)
M. Lidström et moi nous sommes disputés :) L'affirmation de M. Lidström est qu'une construction shared_ptr&lt;Base&gt; 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?" …

5
Existe-t-il un équivalent non atomique de std :: shared_ptr? Et pourquoi n'y en a-t-il pas un dans <memory>?
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 &lt;memory&gt;qui soit atomique. Je me demande s'il existe une version non atomique de std::shared_ptrdisponible (je ne vois rien dedans &lt;memory&gt;, donc je suis également ouvert aux suggestions …

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.