title image


Smiley Memory leaks
Hallo,



ich habe in einer Klasse einen Zeiger als Membervariable:



cIrgendeineKlasse *_my_class;



Beim Instanziieren wird folgendes ausgeführt:



cMeineKlasse klasse;

cIrgendeineKlasse andere_klasse;

klasse.setOtherClass(&andere_klasse);



Später soll bei der Ausführung einer anderen Funktion der Klasse der Zeiger _my_class auf eine andere Instanz von cIrgendeineKlasse verweisen, die innerhalb der Funktion erstellt werden soll. Die Instanz, auf die zuvor verwiesen wurde, wird dann nicht länger benötigt. Bisher mache ich das so:



void cMeineKlasse::meineFunktion()

{

...

_my_class = new cIrgendeineKlasse();

...

}





Auf diese Weise geht es zwar, es entsteht aber scheinbar ein Memory leak! Ein delete _my_class; vor der neuen Zuweisung führt zu einem Fehler.



Wie "stopfe" ich das "Speicherleck" richtig???





Irren ist menschlich. Aber wenn man richtig Mist bauen will, braucht man einen Computer!!!

(Dan Rather, CBS-Fernsehreporter.)




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: