Kursinhalt
C++ Smart Pointers
C++ Smart Pointers
Einführung in Einzigartige Zeiger
Um einen std::unique_ptr
zu erstellen, können Sie std::make_unique
verwenden. Es ist eine Funktion, die eine sichere und effiziente Möglichkeit bietet, eindeutige Zeiger zu erstellen.
Es ist eine großartige Alternative zur Verwendung der new/delete
und new[]/delete[]
Operatoren, die den Code anfälliger für speicherbezogene Probleme machen können.
make_unique
// Using `std::make_unique` to create a unique pointer to a vector of integers std::unique_ptr<std::vector<int>> p_unique_vector = std::make_unique<std::vector<int>>();
Die std::make_unqiue
Funktion allokiert die dynamische Ressource und gibt einen einzigartigen Zeiger zurück, der sie besitzt. Wenn der einzigartige Zeiger außer Gültigkeitsbereich gerät, wird die Ressource automatisch freigegeben.
new_unique_ptr
// Insecure way to create a unique pointer for a vector of integers. std::unique_ptr<std::vector<int>> p_unique_vector(new std::vector<int>());
Der p_unique_vector
Vektor im obigen Code wird immer noch automatisch zerstört, wenn der einzigartige Zeiger außer Gültigkeitsbereich gerät. Für maximale Ausnahmesicherheit und bessere Codepraktiken sollte jedoch immer std::make_unique
bevorzugt werden.
Danke für Ihr Feedback!