Middle
Hat ein shared_ptr nur einen Referenzzähler oder mehrere?
sobes.tech KI
Antwort von AI
// shared_ptr verwendet einen gemeinsamen Referenzzähler,
// der im Steuerblock gespeichert ist.
// Dieser Steuerblock enthält auch Informationen über den Benutzer-Delete (deleter)
// und den Benutzer-Allocator, falls diese bei der Erstellung von shared_ptr bereitgestellt wurden.
// Jede Kopie von shared_ptr, die auf dasselbe Objekt zeigt,
// verweist auf diesen einzigen Steuerblock und erhöht/verringert
// den gemeinsamen Zähler beim Kopieren/Löschen.
// Neben dem gemeinsamen Referenzzähler für shared_ptr,
// enthält der Steuerblock auch einen Zähler für schwache Referenzen (weak count)
// für schwache Zeiger (weak_ptr), die auf dasselbe Objekt zeigen.
// Somit gibt es für jedes von shared_ptr verwaltete Objekt
// nur einen einzigen starken Referenzzähler (für shared_ptr) und einen schwachen Referenzzähler (für weak_ptr),
// die in einem Steuerblock gespeichert sind.