Kursinhalt
C++ Smart Pointers
C++ Smart Pointers
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.
smart_pointer
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.
including_memory
#include <memory>
Danke für Ihr Feedback!