Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Der Bedarf an Smart-Pointern | Einführung in Smart Pointers
C++ Smart Pointers
course content

Kursinhalt

C++ Smart Pointers

C++ Smart Pointers

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

book
Der Bedarf an Smart-Pointern

Manuelle Speicherverwaltung erfordert die explizite Freigabe von Speicher, andernfalls kann es zu Speicherlecks kommen, die bekanntlich schwer zu verfolgen sind. Dies macht den Bedarf an einem Werkzeug, das Zuweisung und ordnungsgemäße Freigabe handhabt, offensichtlich.

Einführung in Smart Pointer

Smart Pointer sind Objekte, die die Speicherverwaltung automatisieren, sogar für dynamischen Speicher. Es gibt drei Arten von Smart Pointern.

Smart Pointer verwenden objektorientierte Programmierung, um die Speicherverwaltung zu automatisieren. Sie sind im Wesentlichen Klassenvorlagen, die es ihnen ermöglichen, mit verschiedenen Datentypen umzugehen, während sie Konstruktoren und Destruktoren für die Zuordnung und Freigabe nutzen. Wenn ein Smart Pointer erstellt wird, wird sein Konstruktor aufgerufen und wenn er aus dem Gültigkeitsbereich fällt, übernimmt der Destruktor die Bereinigung.

h

smart_pointer

copy
123456789101112
template <typename T> class SmartPointer { public: SmartPointer(T* pointer) : pointer(pointer) {} ~SmartPointer() { delete ptr; } T* Get() { return pointer; } private: T* pointer; };

Um Smart Pointer zu verwenden, müssen Sie die <memory> Header-Datei einfügen.

h

including_memory

copy
1
#include <memory>
question mark

Was ist die primäre Herausforderung bei der manuellen Speicherverwaltung?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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