Tipps für C++ Speichermanagement?

1 Antwort

(modernes-) C++ hat Konstrukte und Modelle, die dir so etwas erleichtern sollen.

Darunter zählen z. B. Const-Ausdrücke, Referenzen, RAII, Klassen, Destruktoren, moderne Typen wie UTF-Strings, Smartpointer, Spans, Variants, Konzepte aus der funktionalen Programmierung wie Lambdas, Iteratoren, Optionals, etc.

Die auch konsequent anzuwenden braucht allerdings a) Erfahrung und b) Disziplin. Ersteres wird z. B. in Büchern und Videokursen vermittelt (Suchbegriffe: "modern / modernes c++", "professional c++"). Nach 4–5 Wochen solltest du jedoch noch bei den Basics sein und wenn überhaupt, nur langsam in so etwas eintauchen. Es gehört nun mal dazu, sich auch die Grundlagen anzueignen, Fehler zu machen und daraus zu lernen.
Allein auf manuelle Speicherverwaltung (alloc / new, free / delete) zu verzichten, wo es z. B. Vektoren und sichere Strings gibt, sollte für den Anfang viel bringen. Danach kannst du dir Destruktoren anschauen.

Auch bietet sich an, die sichere Verwendung von Debuggern zu erlernen (die Tags sagen Visual-Studio; da gibt es ja bereits eingebaut einen, der sehr leicht zu nutzen ist): https://learn.microsoft.com/de-de/visualstudio/debugger/debugger-feature-tour und ggf. auch ASAN zu verwenden: https://learn.microsoft.com/de-de/cpp/sanitizers/asan?

Am Ende ist es jedoch so, dass du das alles nie ganz wegbekommen wirst; auch die allerbesten Programmierer bauen haufenweise Bugs und Speichermanagementfehler.

Hier noch einige Ressourcen, nach denen du ja gefragt hast (nur kostenlos & online verfügbar):