Check new delete in CPP
Du bist hier : | {{#youAreHere:Check new delete in CPP}} |
Prüfung von operator new() und operator delete()
Auch in modernen C++ Programmen, kann es vorkommen, dass man new/delete noch verwenden muss.
Das macht ein Programm anfällig gegenüber Speicherlöchern und anderen 'netten' Dingen.
Braucht man Speicher für Objekte, sollte man die STL einsetzen oder RAII verwenden. Damit erledigen sich viele Probleme aus der C-Welt und Programme werden robuster und wartungsfreundlicher.
STL STL in der C++ Standard Bibliothek RAII in der Wikipedia
Für die wenigen Fälle, in denen man new/delete noch einsetzen muss, lohnt sich eine Protokollierung durch Überladen der Operatoren.
Die Kosten zur Laufzeit sind gering und man bekommt am Ende des Programms ein Protokoll über die Speicherverwaltung und eventuelle Fehler in der Verwendung von new/delete.
Download: github: check_new_delete
Lizenz
LGPL: GNU Lesser General Public License
Files
Der Projektfile für Qtcreator:
check_new_delete.pro
Testprogramm:
main.cpp
Implementierung:
impl.h und impl.cpp
Es wird eine Variante des Loggers Logger in CPP eingesetzt.
Der XML Parser MiniXmlParser in CPP ist ein Beispiel für den Einsatz des Check von new/delete.
Compiler
Es wird C++ eingesetzt, daher ist der Code von allen modernen C++ Compilern übersetzbar.