Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Der Ultimative Leitfaden zu Shared-, Unique- und Weak-Pointern | Fortgeschrittene Themen
C++ Smart Pointers
course content

Kursinhalt

C++ Smart Pointers

C++ Smart Pointers

1. Einführung in Smart Pointer
2. Einzigartige Zeiger
3. Gemeinsame Zeiger
4. Schwache Zeiger
5. Referenzen
6. Fortgeschrittene Themen

book
Der Ultimative Leitfaden zu Shared-, Unique- und Weak-Pointern

Im letzten theoretischen Kapitel unseres Kurses werden wir alle bisher gelernten Konzepte verstärken, um eine umfassende Vergleichstabelle zu erstellen. Diese Tabelle dient als praktischer Leitfaden, um uns bei der Auswahl des am besten geeigneten Smart-Pointers für verschiedene Anforderungen des dynamischen Speichermanagements zu unterstützen.

Shared
Unique
Weak
Ownership semanticsErlaubt mehreren Zeigern, das Eigentum eines Objekts zu teilenExklusives Eigentum; nur ein Zeiger kann ein Objekt besitzenNicht-besitzende Zeiger; beeinflussen die Lebensdauer des Objekts nicht
ConstructionErstellt mit std::make_shared oder std::shared_ptrErstellt mit std::make_unique oder std::unique_ptrKeine direkte Konstruktion; abgeleitet von geteilten Zeigern
SuitabilityGeeignet für Szenarien, die geteiltes Eigentum erfordernIdeal für Szenarien, die exklusives Eigentum benötigenBricht zyklische Abhängigkeiten
Use casesGeteilte Datenbankressource; geteiltes Zählerobjekt etc.Eine Datenbankressource, die ausschließlich von einer Klasse besessen wird; ein dynamisches Zählerobjekt, das exklusiv zu einer Klasse gehört etc.Um schwache Knoten in einem Graphen oder einer verketteten Liste darzustellen; um Beobachtermuster zu implementieren
Memory overheadHöher, aufgrund der Referenzzählung zur Verfolgung des EigentumsGeringer als bei geteilten Zeigern, da keine Referenzzählung erforderlich istVernachlässigbarer Overhead; abhängig von der Nutzung des geteilten Zeigers
Performance impactHöchster, aufgrund der ReferenzzählungGeringer, da keine Referenzzählung erforderlich istMinimal; nur ein Beobachter
CopyabilityMöglichNicht möglichMöglich
AssignabilityZuweisbarNicht zuweisbarZuweisbar
Memory cleanupWird freigegeben, wenn der Referenzzähler null erreichtAutomatisch freigegeben, wenn der besitzende Zeiger den Gültigkeitsbereich verlässtKeine Auswirkung auf die Lebensdauer des Objekts
Circular referencesMöglichNicht möglichNicht anwendbar
Exception safetySicherSicherSicher
Kurs beenden?

Kurs beenden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt