Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Einführung in Einzigartige Zeiger | Einzigartige Zeiger
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
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.

h

make_unique

copy
12
// 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.

h

new_unique_ptr

copy
12
// 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.

question mark

Was ist der Hauptvorteil der Verwendung von std::make_unique gegenüber new bei der Erstellung eines std::unique_ptr?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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