Citation Hunt

Das unten stehende Wikipedia-Snippet wird von keiner verlässlichen Quelle unterstützt. Kannst du eine finden?

Klicke auf Verstanden!, um zu Wikipedia zu gehen und das Snippet zu reparieren, oder Nächstes!, um ein anderes zu sehen. Viel Glück!

In Seite Mehrfache Deallokation:

"

Da mehrfache Speicherfreigabe ein Fehler des Programmierers ist, lässt sich das Problem durch aufmerksames Programmieren und alle Vorgehensweisen zum Aufspüren von Bugs finden.

Einige Programmierer setzen Zeiger nach der Speicherfreigabe auf null und prüfen an anderen Stellen, ob der Pointer der Nullzeiger ist.

Allerdings behebt dieses Vorgehen nicht das Problem, wenn zwei Zeiger das gleiche Ziel haben. Wird bei einem der Speicher freigegeben und der Zeiger auf null gesetzt, so zeigt der zweite Zeiger immer noch auf den freigegebenen Speicher.

Darüber hinaus gibt es auch Software wie Valgrind, um Speicheroperationen genauer zu untersuchen und somit bei der manuellen Suche zu unterstützen.

Intelligente Zeiger (englisch smart pointers) verhindern, dass Speicher freigegeben wird, der noch durch andere Zeiger referenziert wird. Die Zeiger auf einen Speicherbereich werden gezählt und erst wenn der letzte Zeiger freigegeben wird, erfolgt die tatsächliche Freigabe des Speichers.[1]

Automatische Speicherbereinigung (englisch garbage collection) ist eine weitere Möglichkeit, mehrfache Speicherfreigaben zu vermeiden.