Als «smart-pointer» getaggte Fragen


9
std :: shared_ptr als letzter Ausweg?
Ich habe gerade die "Going Native 2012" -Streams angesehen und die Diskussion darüber bemerkt std::shared_ptr. Ich war ein bisschen überrascht, als ich Bjarnes etwas negative Meinung std::shared_ptrund seine Bemerkung hörte, dass es als "letzter Ausweg" verwendet werden sollte, wenn die Lebensdauer eines Objekts ungewiss ist (was seiner Meinung nach selten …


5
Warum kann Java / C # RAII nicht implementieren?
Frage: Warum kann Java / C # RAII nicht implementieren? Klarstellung: Mir ist bewusst, dass der Müllsammler nicht deterministisch ist. Mit den aktuellen Sprachfunktionen ist es daher nicht möglich, dass die Dispose () - Methode eines Objekts beim Verlassen des Gültigkeitsbereichs automatisch aufgerufen wird. Aber könnte ein solches deterministisches Merkmal …


3
Wird das Zerstören einer großen Liste meinen Stapel überlaufen?
Betrachten Sie die folgende Implementierung einer einzeln verknüpften Liste: struct node { std::unique_ptr<node> next; ComplicatedDestructorClass data; } Angenommen, ich verwende std::unique_ptr<node> headkeine Instanz mehr, die dann außerhalb des Gültigkeitsbereichs liegt und deren Destruktor aufgerufen wird. Wird dies meinen Stapel für ausreichend große Listen sprengen? Ist es fair anzunehmen, dass der …


4
Ist nicht deterministisches Ressourcenmanagement eine undichte Abstraktion?
Soweit ich sehen kann, gibt es zwei allgegenwärtige Formen des Ressourcenmanagements: deterministische Zerstörung und explizite. Beispiele für Ersteres wären C ++ - Destruktoren und intelligente Zeiger oder Perls DESTROY-Sub, während ein Beispiel für Letzteres Rubys Block-to-Management-Ressourcen-Paradigma oder die IDispose-Schnittstelle von .NET wäre. Neuere Sprachen scheinen sich für Letzteres zu entscheiden, …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.