Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++ Grundkurs

Was bedeutet Speicherverwaltung?

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Weitere Operatoren dienen in C++ dazu, zusätzlichen Speicher dynamisch anzufordern sowie diesen nach Gebrauch wieder freizugeben.
02:29

Transkript

In dieser Lektion möchte ich Ihnen die dynamische Speicherverwaltung in C++ vorstellen. In C++ können Sie dynamischen Speicher allozieren und wieder freigeben. Dieser dynamische Speicher wird explizit auf dem sog. Heap angelegt und auf dem fordern Sie ihn an und geben ihn wieder frei. Es stehen vier Funktionen und Operatoren zur Verfügung: new, mit und ohne eckige Klammern, delete, mit und ohne eckige Klammern. Mit eckigen Klammern fordern Sie kein Objekt, sondern fordern Sie ein Array von Objekten an. Mit eckigen Klammern fordern Sie nicht den Speicher von einem Objekt, sondern den Speicher für ein Array von Objekten an, und mit delete genau das Gegenteil. Hier geben Sie den Speicher für ein Array von Objekten wieder frei. Der Compiler hingegen verwaltet seinen Speicher automatisch, z. B. wenn Sie eine Variable in einem Block anlegen oder einer Funktion, und gibt ihn automatisch wieder frei. Er macht es auf dem sogenannten Stack. Ein paar interessante Dinge gibt es noch rund um die Speicherverwaltung zu sagen. Wenn Fehler bei Allokation auftreten, d. h., Sie erhalten z. B. nicht den Speicher, den Sie benötigen, dann können Sie mit dieser Ausnahmesituation umgehen. Es gibt einen besonderen Operator. Der heißt placement new. Mit dem können Sie Objekte in einem definierten Speicherbereich anlegen. Da besorgt Ihnen sozusagen nicht der Compiler den Speicher automatisch auf den Heap, sondern Sie sagen genau, ich will mein Objekt in diesem Speicherbereich anlegen. Dann gehe ich hier noch ein bisschen auf den die Smart Pointer ein. Smart Pointer sind intelligente Zeiger und die erlauben Ihnen in C++ das Verwalten von Ressourcen mit Referenzzielen. Ich nenne es explizite Garbage Collection. Die Smart Pointer sind eine relativ neuen Bibliothek in C++. Die zwei wichtigen Smart Pointer sind die Unique Pointer und die Shared Pointer. Mit Unique Pointern können Sie explizite Besitzverhältnisse klären, mit Shared Pointern eben geteilte Besitzverhältnisse. Noch einmal: der zentrale Punkt von diesen Smart Pointern ist, dass sie sozusagen Rapper - eine Hülle um einen Native Pointer - sind und Ihnen die die Verwaltung der Lebenszeit dieser Pointer total abnehmen. In dieser Lektion habe ich Ihnen einen Überblick über die Specherverwaltung in C++ gegeben. Insbesondere habe ich Ihnen die Operatoren new , mit und ohne eckige Klammern, delete, mit und ohne eckigen Klammern, vorgestellt, mit denen Sie eben Objekte, aber auch Arrays von Objekten anlegen und wieder mit delete und delete [ ] freigeben können.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!