Check new delete in CPP

Aus LOMSO
Zur Navigation springen Zur Suche springen
Du bist hier : Wiki home -> Software -> CPP -> 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.